Windows: smb_ReceiveNTTranCreate path not found
authorJeffrey Altman <jaltman@your-file-system.com>
Wed, 20 Jul 2011 22:32:35 +0000 (18:32 -0400)
committerJeffrey Altman <jaltman@openafs.org>
Fri, 22 Jul 2011 15:55:50 +0000 (08:55 -0700)
if the directory object cannot be found in the tree, return
CM_ERROR_PATHNOTFOUND instead of crashing.

Change-Id: I51458e24b5b9f16fc0378073e002d8ee160b8f15
Reviewed-on: http://gerrit.openafs.org/5061
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>

src/WINNT/afsd/smb3.c

index 1d50da5..428b316 100644 (file)
@@ -8535,12 +8535,20 @@ long smb_ReceiveNTTranCreate(smb_vc_t *vcp, smb_packet_t *inp, smb_packet_t *out
                 cm_ReleaseSCache(scp);
                 cm_ReleaseSCache(dscp);
                 cm_ReleaseUser(userp);
+                cm_FreeSpace(spacep);
                 free(realPathp);
                 if (baseFidp)
                     smb_ReleaseFID(baseFidp);
                 return CM_ERROR_EXISTS;
             }
         }
+    } else {
+        cm_ReleaseUser(userp);
+        if (baseFidp)
+            smb_ReleaseFID(baseFidp);
+        cm_FreeSpace(spacep);
+        free(realPathp);
+        return CM_ERROR_NOSUCHPATH;
     }
 
     if (code == 0)