Tidyup prompted by #6554 - Wrong deallocation in sam_account_ok.
[ira/wip.git] / source3 / auth / auth_sam.c
index a2634feb6c02c4b3ddb014d2946e8672922da8eb..26b45e47e5664821828cc7bc376bb0acad14df1e 100644 (file)
@@ -226,10 +226,10 @@ static NTSTATUS sam_account_ok(TALLOC_CTX *mem_ctx,
 
        if (*workstation_list) {
                bool invalid_ws = True;
-               char *tok;
+               char *tok = NULL;
                const char *s = workstation_list;
+               char *machine_name = talloc_asprintf(mem_ctx, "%s$", user_info->wksta_name);
 
-               const char *machine_name = talloc_asprintf(mem_ctx, "%s$", user_info->wksta_name);
                if (machine_name == NULL)
                        return NT_STATUS_NO_MEMORY;
 
@@ -251,6 +251,7 @@ static NTSTATUS sam_account_ok(TALLOC_CTX *mem_ctx,
                        TALLOC_FREE(tok);
                }
                TALLOC_FREE(tok);
+               TALLOC_FREE(machine_name);
 
                if (invalid_ws)
                        return NT_STATUS_INVALID_WORKSTATION;