From: Ben Kaduk Date: Wed, 11 Feb 2015 22:47:10 +0000 (-0500) Subject: Remove spurious NULL checks X-Git-Tag: upstream/1.6.13^2~17 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=7dff0032992eac3c078f03e520aee5fed00f2b21;p=packages%2Fo%2Fopenafs.git Remove spurious NULL checks clang 3.5 is more aggressive about these checks than the previous FreeBSD system compiler, so new warnings (which became errors) appeared on FreeBSD 11-CURRENT. In afs_dcache.c, checking &tdc->f for NULL-ness has no effect. The struct fcache f member of struct dcache is an ordinary structure element; its address will be the value of tdc plus the offset of f within struct dcache, which will not be NULL even if tdc is NULL. In ubik_db_if.c, udbHandle is a file-scope global and thus has allocated storage; the address of a member variable will never be NULL. The 0 it was compared against was spelled RX_SECIDX_NULL, which shows the intended check, which is for the value of the uh_scIndex member variable, not its address. In afscp_server.c, srv->conns can never be NULL since conns is a member variable of struct afscp_server (of array type, containing pointers to struct rx_connection). Comparing the array member variable against NULL is comparing the address of the array, which is never NULL since it is not allocated separately from struct afscp_server. In fssync-debug.c, state.vop->partName is never NULL because common_volop_prolog always allocates for state.vop, and the partName member variable of struct fssync_state is of array type, and thus is not separately allocated from the containing structure. Reviewed-on: http://gerrit.openafs.org/11739 Reviewed-by: Chas Williams - CONTRACTOR Reviewed-by: Perry Ruiter Reviewed-by: Benjamin Kaduk Tested-by: BuildBot (cherry picked from commit fb499c2406450fa5dc423a0b038266d3b8e79e33) Change-Id: I13799a3362508672136f8c603eabdfc0f3ee072d Reviewed-on: http://gerrit.openafs.org/11843 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk Reviewed-by: Stephan Wiesand --- diff --git a/src/afs/afs_dcache.c b/src/afs/afs_dcache.c index a156e22ed..c05393c15 100644 --- a/src/afs/afs_dcache.c +++ b/src/afs/afs_dcache.c @@ -2926,14 +2926,12 @@ afs_UFSGetDSlot(afs_int32 aslot, int indexvalid, int datavalid) tdc->f.states &= ~(DRO|DBackup|DRW); afs_DCMoveBucket(tdc, 0, 0); } else { - if (&tdc->f != 0) { - if (tdc->f.states & DRO) { - afs_DCMoveBucket(tdc, 0, 2); - } else if (tdc->f.states & DBackup) { - afs_DCMoveBucket(tdc, 0, 1); - } else { - afs_DCMoveBucket(tdc, 0, 1); - } + if (tdc->f.states & DRO) { + afs_DCMoveBucket(tdc, 0, 2); + } else if (tdc->f.states & DBackup) { + afs_DCMoveBucket(tdc, 0, 1); + } else { + afs_DCMoveBucket(tdc, 0, 1); } } tdc->refCount = 1; diff --git a/src/bucoord/ubik_db_if.c b/src/bucoord/ubik_db_if.c index e29e8f9ba..9be620312 100644 --- a/src/bucoord/ubik_db_if.c +++ b/src/bucoord/ubik_db_if.c @@ -907,7 +907,7 @@ udbClientInit(int noAuthFlag, int localauth, char *cellName) afs_com_err(whoami, code, "(configuring connection security)"); ERROR(BC_NOCELLCONFIG); } - if (&udbHandle.uh_scIndex == RX_SECIDX_NULL && !noAuthFlag) + if (udbHandle.uh_scIndex == RX_SECIDX_NULL && !noAuthFlag) afs_com_err(whoami, 0, "Can't get tokens - running unauthenticated"); /* We have to have space for the trailing NULL that terminates the server diff --git a/src/libafscp/afscp_server.c b/src/libafscp/afscp_server.c index 2b08e69f6..a5fb47d00 100644 --- a/src/libafscp/afscp_server.c +++ b/src/libafscp/afscp_server.c @@ -474,7 +474,7 @@ afscp_ServerByIndex(int i) struct rx_connection * afscp_ServerConnection(const struct afscp_server *srv, int i) { - if (srv == NULL || srv->conns == NULL) + if (srv == NULL) return NULL; if (i >= srv->naddrs || i < 0) return NULL; diff --git a/src/vol/fssync-debug.c b/src/vol/fssync-debug.c index 61cd76cb6..e974b09b2 100644 --- a/src/vol/fssync-debug.c +++ b/src/vol/fssync-debug.c @@ -459,7 +459,7 @@ VolOnline(struct cmd_syndesc * as, void * rock) common_prolog(as, &state); common_volop_prolog(as, &state); - if (state.vop->partName==0 || *(state.vop->partName)==0) { + if (*(state.vop->partName)==0) { fprintf(stderr, "required argument -partition not given\n"); return -1; }