Module Name:    src
Committed By:   lukem
Date:           Fri Mar  2 06:31:53 UTC 2018

Modified Files:
        src/lib/libc/inet: inet_ntop.c

Log Message:
PR/48585: Set errno when returning NULL for AF_INET

In inet_ntop4(), errno wasn't set before returning NULL.
Seems like an oversight in the existing fix for PR/48585.
Noticed by code inspection.


To generate a diff of this commit:
cvs rdiff -u -r1.11 -r1.12 src/lib/libc/inet/inet_ntop.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/lib/libc/inet/inet_ntop.c
diff -u src/lib/libc/inet/inet_ntop.c:1.11 src/lib/libc/inet/inet_ntop.c:1.12
--- src/lib/libc/inet/inet_ntop.c:1.11	Mon Feb 10 16:30:54 2014
+++ src/lib/libc/inet/inet_ntop.c	Fri Mar  2 06:31:53 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: inet_ntop.c,v 1.11 2014/02/10 16:30:54 christos Exp $	*/
+/*	$NetBSD: inet_ntop.c,v 1.12 2018/03/02 06:31:53 lukem Exp $	*/
 
 /*
  * Copyright (c) 2004 by Internet Systems Consortium, Inc. ("ISC")
@@ -22,7 +22,7 @@
 #if 0
 static const char rcsid[] = "Id: inet_ntop.c,v 1.5 2005/11/03 22:59:52 marka Exp";
 #else
-__RCSID("$NetBSD: inet_ntop.c,v 1.11 2014/02/10 16:30:54 christos Exp $");
+__RCSID("$NetBSD: inet_ntop.c,v 1.12 2018/03/02 06:31:53 lukem Exp $");
 #endif
 #endif /* LIBC_SCCS and not lint */
 
@@ -106,8 +106,10 @@ inet_ntop4(const u_char *src, char *dst,
 
 	l = snprintf(tmp, sizeof(tmp), "%u.%u.%u.%u",
 	    src[0], src[1], src[2], src[3]);
-	if (l <= 0 || (socklen_t) l >= size)
+	if (l <= 0 || (socklen_t) l >= size) {
+		errno = ENOSPC;
 		return NULL;
+	}
 	strlcpy(dst, tmp, size);
 	return dst;
 }

Reply via email to