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 <jtr...@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);
 
        /*
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to