r13542: Don't reuse a pointer we just freed (Doh!).
authorJeremy Allison <jra@samba.org>
Fri, 17 Feb 2006 15:51:25 +0000 (15:51 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 16:10:11 +0000 (11:10 -0500)
Jeremy.

source/passdb/secrets.c

index f6b1ece7d4c7e33e08c7dbbf6bf013c2fad5a710..55fb0cfc0e90ef5d171669dff6fac0ad2e53c73e 100644 (file)
@@ -1051,6 +1051,8 @@ BOOL secrets_restore_schannel_session_info(TALLOC_CTX *mem_ctx,
                                &pdc->domain);
 
        if (ret == -1 || l1 != 8 || l2 != 8 || l3 != 8 || l4 != 16 || l5 != 16) {
+               /* Bad record - delete it. */
+               tdb_delete_bystring(tdb_sc, keystr);
                talloc_free(keystr);
                talloc_free(pdc);
                SAFE_FREE(pseed_chal);
@@ -1059,8 +1061,6 @@ BOOL secrets_restore_schannel_session_info(TALLOC_CTX *mem_ctx,
                SAFE_FREE(psess_key);
                SAFE_FREE(pmach_pw);
                SAFE_FREE(value.dptr);
-               /* Bad record - delete it. */
-               tdb_delete_bystring(tdb_sc, keystr);
                return False;
        }