diff options
author | Andreas Schneider <asn@samba.org> | 2010-06-28 11:06:22 +0200 |
---|---|---|
committer | Andreas Schneider <asn@samba.org> | 2010-06-28 12:56:13 +0200 |
commit | ac5600fc7e996bdde23666bc96a834044556c85f (patch) | |
tree | df42abe1705c547ede9788241a9cb6e22e51e9c3 | |
parent | 6d89116afe89e29d4e9bd0d69f7032a2b47f4c07 (diff) | |
download | samba-ac5600fc7e996bdde23666bc96a834044556c85f.tar.gz samba-ac5600fc7e996bdde23666bc96a834044556c85f.tar.bz2 samba-ac5600fc7e996bdde23666bc96a834044556c85f.zip |
s3-passdb: Make sure dn is initialized and don't free it.
dn is just a pointer to a memory which hasn't been duplicated.
Found by clang-analyzer.
-rw-r--r-- | source3/passdb/pdb_ads.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/source3/passdb/pdb_ads.c b/source3/passdb/pdb_ads.c index c5d8cc2c02..096063b0a0 100644 --- a/source3/passdb/pdb_ads.c +++ b/source3/passdb/pdb_ads.c @@ -1190,7 +1190,7 @@ static NTSTATUS pdb_ads_delete_alias(struct pdb_methods *m, m->private_data, struct pdb_ads_state); struct tldap_context *ld; struct tldap_message **alias; - char *sidstr, *dn; + char *sidstr, *dn = NULL; int rc; ld = pdb_ads_ld(state); @@ -1213,7 +1213,6 @@ static NTSTATUS pdb_ads_delete_alias(struct pdb_methods *m, if (rc != TLDAP_SUCCESS) { DEBUG(10, ("ldap_search failed: %s\n", tldap_errstr(talloc_tos(), state->ld, rc))); - TALLOC_FREE(dn); return NT_STATUS_LDAP(rc); } if (talloc_array_length(alias) != 1) { @@ -1231,7 +1230,6 @@ static NTSTATUS pdb_ads_delete_alias(struct pdb_methods *m, if (rc != TLDAP_SUCCESS) { DEBUG(10, ("ldap_delete failed: %s\n", tldap_errstr(talloc_tos(), state->ld, rc))); - TALLOC_FREE(dn); return NT_STATUS_LDAP(rc); } |