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; }