windows-cmfinduserbyname-20060112
authorJeffrey Altman <jaltman@secure-endpoints.com>
Thu, 12 Jan 2006 05:54:23 +0000 (05:54 +0000)
committerJeffrey Altman <jaltman@secure-endpoints.com>
Thu, 12 Jan 2006 05:54:23 +0000 (05:54 +0000)
FIXES 25347

Fix invalid access after freeing newly allocated data structure

src/WINNT/afsd/smb3.c

index fefc6e5..afbcfc6 100644 (file)
@@ -7149,6 +7149,7 @@ void smb3_Init()
 cm_user_t *smb_FindCMUserByName(char *usern, char *machine)
 {
     smb_username_t *unp;
+    cm_user_t *     userp;
 
     unp = smb_FindUserByName(usern, machine, SMB_FLAG_CREATE);
     if (!unp->userp) {
@@ -7159,8 +7160,9 @@ cm_user_t *smb_FindCMUserByName(char *usern, char *machine)
     }  else    {
         osi_Log2(smb_logp,"smb_FindCMUserByName Not found name[%s] machine[%s]",osi_LogSaveString(smb_logp,usern),osi_LogSaveString(smb_logp,machine));
     }
-    cm_HoldUser(unp->userp);
+    userp = unp->userp;
+    cm_HoldUser(userp);
     smb_ReleaseUsername(unp);
-    return unp->userp;
+    return userp;
 }