vol: Blank fake linkHandles 56/14656/2
authorAndrew Deason <adeason@sinenomine.net>
Sat, 17 Feb 2018 22:57:12 +0000 (16:57 -0600)
committerBenjamin Kaduk <kaduk@mit.edu>
Thu, 1 Jul 2021 16:37:16 +0000 (12:37 -0400)
A couple of places in namei_ops.c use "fake" linkHandle FdHandle_t's.
Make sure these are initialized, so we don't accidentally use
uninitialized fields in the FdHandle_t.

Currently, the code never uses any fields that are not explicitly set
in this same code path, but this seems rather fragile, and future
commits may change the fields in an FdHandle_t.

Change-Id: I9372f03a4d3b68afd3ab24a27ae669cba92e0abe
Reviewed-on: https://gerrit.openafs.org/14656
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

src/vol/namei_ops.c

index f9dd4e5..463b66b 100644 (file)
@@ -2505,6 +2505,8 @@ namei_ListAFSSubDirs(IHandle_t * dirIH,
     struct rx_queue resultlist;
 #endif
 
+    memset(&linkHandle, 0, sizeof(linkHandle));
+
     namei_HandleToVolDir(&name, &myIH);
     strlcpy(path1, name.n_path, sizeof(path1));
 
@@ -2779,6 +2781,8 @@ DecodeInode(char *dpath, char *name, struct ViceInodeInfo *info,
     char dirl;
     VolumeId volid = myIH->ih_vid;
 
+    memset(&linkHandle, 0, sizeof(linkHandle));
+
     snprintf(fpath, sizeof(fpath), "%s" OS_DIRSEP "%s", dpath, name);
 
     dirH = FindFirstFileEx(fpath, FindExInfoStandard, &data,