The Samba-Bugzilla – Attachment 4859 Details for
Bug 6814
Fixes for problems reported by valgrind
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Correct fix for "Free password before feeding it to smb_xstrdup"
look (text/plain), 1.79 KB, created by
Jeremy Allison
on 2009-10-15 18:52:47 UTC
(
hide
)
Description:
Correct fix for "Free password before feeding it to smb_xstrdup"
Filename:
MIME Type:
Creator:
Jeremy Allison
Created:
2009-10-15 18:52:47 UTC
Size:
1.79 KB
patch
obsolete
>diff --git a/source3/lib/smbldap.c b/source3/lib/smbldap.c >index 47b2208..7287e3d 100644 >--- a/source3/lib/smbldap.c >+++ b/source3/lib/smbldap.c >@@ -1054,12 +1054,18 @@ static int smbldap_connect_system(struct smbldap_state *ldap_state, LDAP * ldap_ > int version; > > if (!ldap_state->anonymous && !ldap_state->bind_dn) { >+ char *bind_dn = NULL; >+ char *bind_secret = NULL; > > /* get the default dn and password only if they are not set already */ >- if (!fetch_ldap_pw(&ldap_state->bind_dn, &ldap_state->bind_secret)) { >+ if (!fetch_ldap_pw(&bind_dn, &bind_secret)) { > DEBUG(0, ("ldap_connect_system: Failed to retrieve password from secrets.tdb\n")); > return LDAP_INVALID_CREDENTIALS; > } >+ smbldap_set_creds(ldap_state, false, bind_dn, bind_secret); >+ SAFE_FREE(bind_dn); >+ memset(bind_secret, '\0', strlen(bind_secret)); >+ SAFE_FREE(bind_secret); > } > > /* removed the sasl_bind_s "EXTERNAL" stuff, as my testsuite >diff --git a/source3/passdb/secrets.c b/source3/passdb/secrets.c >index 8b87c2c..29e0662 100644 >--- a/source3/passdb/secrets.c >+++ b/source3/passdb/secrets.c >@@ -891,6 +891,7 @@ bool fetch_ldap_pw(char **dn, char** pw) > if (asprintf(&key, "%s/%s", SECRETS_LDAP_BIND_PW, *dn) < 0) { > SAFE_FREE(*dn); > DEBUG(0, ("fetch_ldap_pw: asprintf failed!\n")); >+ return false; > } > > *pw=(char *)secrets_fetch(key, &size); >diff --git a/source3/winbindd/idmap_ldap.c b/source3/winbindd/idmap_ldap.c >index 3d1dd48..375c04a 100644 >--- a/source3/winbindd/idmap_ldap.c >+++ b/source3/winbindd/idmap_ldap.c >@@ -131,6 +131,7 @@ static NTSTATUS get_credentials( TALLOC_CTX *mem_ctx, > DEBUG(2, ("get_credentials: Failed to lookup ldap " > "bind creds. Using anonymous connection.\n")); > anon = True; >+ *dn = NULL; > } else { > *dn = talloc_strdup(mem_ctx, user_dn); > SAFE_FREE( user_dn );
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 6814
:
4851
|
4852
|
4853
| 4859 |
4861
|
4888
|
4993
|
5424
|
5429
|
5430