From c3869ac05b8eb816b1b8844d628f796a06d15914 Mon Sep 17 00:00:00 2001 From: Cheyenne Wills Date: Fri, 9 Aug 2019 13:25:26 -0600 Subject: [PATCH] vlserver: initialize nvlentry elements after read 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 Reviewed-by: Andrew Deason Reviewed-by: Benjamin Kaduk (cherry picked from commit ddf7d2a7f4bfdcab238e791cb8c49bb803e76b09) Change-Id: I4e1065bedda0f50b85cf472d015f2c86e4af82c8 Reviewed-on: https://gerrit.openafs.org/13846 Reviewed-by: Andrew Deason Reviewed-by: Michael Meffie Tested-by: BuildBot Reviewed-by: Stephan Wiesand --- src/vlserver/vlutils.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/vlserver/vlutils.c b/src/vlserver/vlutils.c index d61588419..043355438 100644 --- a/src/vlserver/vlutils.c +++ b/src/vlserver/vlutils.c @@ -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; } -- 2.39.5