From f3e29d548396db158b981d33b8e7affeac709ae3 Mon Sep 17 00:00:00 2001 From: jkim Date: Thu, 6 Oct 2011 21:55:05 +0000 Subject: Use the caculated length instead of maximum length. --- sys/compat/linux/linux_socket.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'sys/compat/linux/linux_socket.c') diff --git a/sys/compat/linux/linux_socket.c b/sys/compat/linux/linux_socket.c index 7462ca3..431c5b9 100644 --- a/sys/compat/linux/linux_socket.c +++ b/sys/compat/linux/linux_socket.c @@ -166,11 +166,11 @@ linux_getsockaddr(struct sockaddr **sap, const struct osockaddr *osa, int salen) namelen = strnlen(name + 1, salen - hdrlen - 1) + 1; } else namelen = strnlen(name, salen - hdrlen); - if (hdrlen + namelen > sizeof(struct sockaddr_un)) { + salen = hdrlen + namelen; + if (salen > sizeof(struct sockaddr_un)) { error = ENAMETOOLONG; goto out; } - salen = sizeof(struct sockaddr_un); } sa = (struct sockaddr *)kosa; -- cgit v1.1