svn commit: r353326 - in head: contrib/sendmail/mail.local lib/libc/tests/nss usr.bin/tip/tip usr.sbin/fwcontrol

Brooks Davis brooks at FreeBSD.org
Tue Oct 8 21:14:11 UTC 2019


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 at 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);
 
 	/*


More information about the svn-src-head mailing list