vlserver: initialize nvlentry elements after read 46/13846/3
authorCheyenne Wills <cwills@sinenomine.net>
Fri, 9 Aug 2019 19:25:26 +0000 (13:25 -0600)
committerStephan Wiesand <stephan.wiesand@desy.de>
Sun, 26 Jan 2020 12:15:09 +0000 (07:15 -0500)
Commit 7620bd33487207b348ed7aeba45f8d743132ba84 (vlserver: fix
vlentryread() for old vldb formats) leaves the tail end of the
serverNumber, serverParition and serverFlags arrays uninitialized since
it only copies OMAXNSERVERS elements into arrays that have NMAXNSERVERS
elements.

Initialize the elements in the nvlentry server arrays that were not
copied with BADSERVERID.

Reviewed-on: https://gerrit.openafs.org/13755
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Andrew Deason <adeason@sinenomine.net>
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
(cherry picked from commit ddf7d2a7f4bfdcab238e791cb8c49bb803e76b09)

Change-Id: I4e1065bedda0f50b85cf472d015f2c86e4af82c8
Reviewed-on: https://gerrit.openafs.org/13846
Reviewed-by: Andrew Deason <adeason@sinenomine.net>
Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

src/vlserver/vlutils.c

index d615884..0433554 100644 (file)
@@ -181,6 +181,12 @@ vlentryread(struct ubik_trans *trans, afs_int32 offset, char *buffer,
        memcpy(nbufp->serverNumber, oep->serverNumber, OMAXNSERVERS);
        memcpy(nbufp->serverPartition, oep->serverPartition, OMAXNSERVERS);
        memcpy(nbufp->serverFlags, oep->serverFlags, OMAXNSERVERS);
+       /* initilize the last elements to BADSERVERID */
+       for (i = OMAXNSERVERS; i < NMAXNSERVERS; i++) {
+           nbufp->serverNumber[i] = BADSERVERID;
+           nbufp->serverPartition[i] = BADSERVERID;
+           nbufp->serverFlags[i] = BADSERVERID;
+       }
     }
     return 0;
 }