Windows: NetrShareGetInfo do not return registry errors
authorJeffrey Altman <jaltman@your-file-system.com>
Mon, 6 Jul 2015 05:39:41 +0000 (01:39 -0400)
committerJeffrey Altman <jaltman@your-file-system.com>
Wed, 23 Sep 2015 19:39:45 +0000 (15:39 -0400)
In NetrShareGetInfo() when registry api calls fail do not leak the
error codes to the caller.  Instead, set the error to CM_ERROR_NOSUCHPATH
so that NERR_NetNameNotFound can be returned.

Change-Id: I2c8f12573ca604385176ebb18d92ff2f7023a27e
Reviewed-on: http://gerrit.openafs.org/11924
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

src/WINNT/afsd/rpc_srvsvc.c

index 5a403cc..2c8f462 100644 (file)
@@ -795,7 +795,10 @@ NET_API_STATUS NetrShareGetInfo(
         if (allSubmount) {
             scp = dscp;
             cm_HoldSCache(scp);
-        }
+           code = 0;
+       } else {
+           code = CM_ERROR_NOSUCHPATH;
+       }
     } else {
         /*
          * Could be a Submount, a directory entry, or a cell name we
@@ -830,7 +833,9 @@ NET_API_STATUS NetrShareGetInfo(
                     code == CM_ERROR_BPLUS_NOMATCH)
                     code = cm_NameI(dscp, pathstr, CM_FLAG_CASEFOLD | CM_FLAG_FOLLOW,
                                     userp, NULL, &req, &scp);
-            }
+           } else {
+               code = CM_ERROR_NOSUCHPATH;
+           }
         }
     }