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
This commit is contained in:
Brooks Davis 2019-10-08 21:14:09 +00:00
parent cc698b4900
commit f189761366
7 changed files with 11 additions and 11 deletions

View File

@ -393,7 +393,7 @@ main(argc, argv)
}
/* Non-LMTP from here on out */
if (*argv == '\0')
if (*argv == NULL)
usage();
/*

View File

@ -153,7 +153,7 @@ compare_group(struct group *grp1, struct group *grp2, void *mdata)
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 buflen)
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);

View File

@ -148,7 +148,7 @@ compare_protoent(struct protoent *pe1, struct protoent *pe2, void *mdata)
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_t buflen)
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;

View File

@ -147,7 +147,7 @@ compare_rpcent(struct rpcent *rpc1, struct rpcent *rpc2, void *mdata)
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)
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;

View File

@ -153,7 +153,7 @@ compare_servent(struct servent *serv1, struct servent *serv2, void *mdata)
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_t buflen)
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;

View File

@ -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);

View File

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