Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 8 Oct 2019 21:14:10 +0000 (UTC)
From:      Brooks Davis <brooks@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r353326 - in head: contrib/sendmail/mail.local lib/libc/tests/nss usr.bin/tip/tip usr.sbin/fwcontrol
Message-ID:  <201910082114.x98LEAuU077185@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: brooks
Date: Tue Oct  8 21:14:09 2019
New Revision: 353326
URL: https://svnweb.freebsd.org/changeset/base/353326

Log:
  Fix various -Wpointer-compare warnings
  
  This warning (comparing a pointer against a zero character literal
  rather than NULL) has existed since GCC 7.1.0, and was recently added to
  Clang trunk.
  
  Almost all of these are harmless, except for fwcontrol's str2node, which
  needs to both guard against dereferencing a NULL pointer (though in
  practice it appears none of the callers will ever pass one in), as well
  as ensure it doesn't parse the empty string as node 0 due to strtol's
  awkward interface.
  
  Submitted by:	James Clarke <jtrc27@jrtc27.com>
  Obtained from:	CheriBSD
  Sponsored by:	DARPA, AFRL
  Differential Revision:	https://reviews.freebsd.org/D21914

Modified:
  head/contrib/sendmail/mail.local/mail.local.c
  head/lib/libc/tests/nss/getgr_test.c
  head/lib/libc/tests/nss/getproto_test.c
  head/lib/libc/tests/nss/getrpc_test.c
  head/lib/libc/tests/nss/getserv_test.c
  head/usr.bin/tip/tip/acu.c
  head/usr.sbin/fwcontrol/fwcontrol.c

Modified: head/contrib/sendmail/mail.local/mail.local.c
==============================================================================
--- head/contrib/sendmail/mail.local/mail.local.c	Tue Oct  8 20:59:31 2019	(r353325)
+++ head/contrib/sendmail/mail.local/mail.local.c	Tue Oct  8 21:14:09 2019	(r353326)
@@ -393,7 +393,7 @@ main(argc, argv)
 	}
 
 	/* Non-LMTP from here on out */
-	if (*argv == '\0')
+	if (*argv == NULL)
 		usage();
 
 	/*

Modified: head/lib/libc/tests/nss/getgr_test.c
==============================================================================
--- head/lib/libc/tests/nss/getgr_test.c	Tue Oct  8 20:59:31 2019	(r353325)
+++ head/lib/libc/tests/nss/getgr_test.c	Tue Oct  8 21:14:09 2019	(r353326)
@@ -153,7 +153,7 @@ compare_group(struct group *grp1, struct group *grp2, 
 		if (strcmp(*c1, *c2) != 0)
 			goto errfin;
 
-	if (*c1 != '\0' || *c2 != '\0')
+	if (*c1 != NULL || *c2 != NULL)
 		goto errfin;
 
 	return 0;
@@ -182,7 +182,7 @@ sdump_group(struct group *grp, char *buffer, size_t bu
 	buflen -= written;
 
 	if (grp->gr_mem != NULL) {
-		if (*(grp->gr_mem) != '\0') {
+		if (*(grp->gr_mem) != NULL) {
 			for (cp = grp->gr_mem; *cp; ++cp) {
 				written = snprintf(buffer, buflen, "%s%s",
 				    cp == grp->gr_mem ? "" : ",", *cp);

Modified: head/lib/libc/tests/nss/getproto_test.c
==============================================================================
--- head/lib/libc/tests/nss/getproto_test.c	Tue Oct  8 20:59:31 2019	(r353325)
+++ head/lib/libc/tests/nss/getproto_test.c	Tue Oct  8 21:14:09 2019	(r353326)
@@ -148,7 +148,7 @@ compare_protoent(struct protoent *pe1, struct protoent
 		if (strcmp(*c1, *c2) != 0)
 			goto errfin;
 
-	if ((*c1 != '\0') || (*c2 != '\0'))
+	if ((*c1 != NULL) || (*c2 != NULL))
 		goto errfin;
 
 	return 0;
@@ -177,7 +177,7 @@ sdump_protoent(struct protoent *pe, char *buffer, size
 	buflen -= written;
 
 	if (pe->p_aliases != NULL) {
-		if (*(pe->p_aliases) != '\0') {
+		if (*(pe->p_aliases) != NULL) {
 			for (cp = pe->p_aliases; *cp; ++cp) {
 				written = snprintf(buffer, buflen, " %s", *cp);
 				buffer += written;

Modified: head/lib/libc/tests/nss/getrpc_test.c
==============================================================================
--- head/lib/libc/tests/nss/getrpc_test.c	Tue Oct  8 20:59:31 2019	(r353325)
+++ head/lib/libc/tests/nss/getrpc_test.c	Tue Oct  8 21:14:09 2019	(r353326)
@@ -147,7 +147,7 @@ compare_rpcent(struct rpcent *rpc1, struct rpcent *rpc
 		if (strcmp(*c1, *c2) != 0)
 			goto errfin;
 
-	if ((*c1 != '\0') || (*c2 != '\0'))
+	if ((*c1 != NULL) || (*c2 != NULL))
 		goto errfin;
 
 	return 0;
@@ -176,7 +176,7 @@ sdump_rpcent(struct rpcent *rpc, char *buffer, size_t 
 	buflen -= written;
 
 	if (rpc->r_aliases != NULL) {
-		if (*(rpc->r_aliases) != '\0') {
+		if (*(rpc->r_aliases) != NULL) {
 			for (cp = rpc->r_aliases; *cp; ++cp) {
 				written = snprintf(buffer, buflen, " %s", *cp);
 				buffer += written;

Modified: head/lib/libc/tests/nss/getserv_test.c
==============================================================================
--- head/lib/libc/tests/nss/getserv_test.c	Tue Oct  8 20:59:31 2019	(r353325)
+++ head/lib/libc/tests/nss/getserv_test.c	Tue Oct  8 21:14:09 2019	(r353326)
@@ -153,7 +153,7 @@ compare_servent(struct servent *serv1, struct servent 
 		if (strcmp(*c1, *c2) != 0)
 			goto errfin;
 
-	if ((*c1 != '\0') || (*c2 != '\0'))
+	if ((*c1 != NULL) || (*c2 != NULL))
 		goto errfin;
 
 	return 0;
@@ -182,7 +182,7 @@ sdump_servent(struct servent *serv, char *buffer, size
 	buflen -= written;
 
 	if (serv->s_aliases != NULL) {
-		if (*(serv->s_aliases) != '\0') {
+		if (*(serv->s_aliases) != NULL) {
 			for (cp = serv->s_aliases; *cp; ++cp) {
 				written = snprintf(buffer, buflen, " %s", *cp);
 				buffer += written;

Modified: head/usr.bin/tip/tip/acu.c
==============================================================================
--- head/usr.bin/tip/tip/acu.c	Tue Oct  8 20:59:31 2019	(r353325)
+++ head/usr.bin/tip/tip/acu.c	Tue Oct  8 21:14:09 2019	(r353326)
@@ -190,7 +190,7 @@ acutype(char *s)
 	acu_t *p;
 	extern acu_t acutable[];
 
-	for (p = acutable; p->acu_name != '\0'; p++)
+	for (p = acutable; p->acu_name != NULL; p++)
 		if (!strcmp(s, p->acu_name))
 			return (p);
 	return (NOACU);

Modified: head/usr.sbin/fwcontrol/fwcontrol.c
==============================================================================
--- head/usr.sbin/fwcontrol/fwcontrol.c	Tue Oct  8 20:59:31 2019	(r353325)
+++ head/usr.sbin/fwcontrol/fwcontrol.c	Tue Oct  8 21:14:09 2019	(r353326)
@@ -129,7 +129,7 @@ str2node(int fd, const char *nodestr)
 	char *endptr;
 	int i, node;
 
-	if (nodestr == '\0')
+	if (nodestr == NULL || *nodestr == '\0')
 		return (-1);
 
 	/*



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201910082114.x98LEAuU077185>