mirror of
https://git.openldap.org/openldap/openldap.git
synced 2026-02-18 18:18:06 -05:00
A quick fix for ITS#598... crypt(3) crashes
This commit is contained in:
parent
5e4d9d028a
commit
9820da8c10
2 changed files with 12 additions and 3 deletions
1
CHANGES
1
CHANGES
|
|
@ -6,6 +6,7 @@ Changes included in OpenLDAP 1.2.12 Engineering
|
|||
Fixed ldapsearch uninitialized fp bug
|
||||
Fixed Pth initialization bug
|
||||
Fixed libldap/add mod_bvalues typo
|
||||
Fixed ldappasswd crypt(3) crash (ITD#598)
|
||||
Build Environment
|
||||
Remove extra Digital UNIX symbol (ITS#590)
|
||||
Ignore make clean rm failure
|
||||
|
|
|
|||
|
|
@ -194,7 +194,11 @@ hash_crypt (const char *pw_in, Salt * salt)
|
|||
crypted_pw = crypt (pw_in, (char *)lsalt.salt);
|
||||
free (lsalt.salt);
|
||||
}
|
||||
return (STRDUP (crypted_pw));
|
||||
|
||||
if( crypted_pw == NULL || crypted_pw[0] = '\0' )
|
||||
return NULL;
|
||||
|
||||
return STRDUP(crypted_pw);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
|
@ -283,12 +287,16 @@ modify_dn (LDAP * ld, char *targetdn, char *pwattr, char *oldpw,
|
|||
hashed_pw = hashes[htype].func (newpw, salt->len ? salt : NULL);
|
||||
|
||||
/* return salt back to it's original state */
|
||||
if (want_salt)
|
||||
{
|
||||
if (want_salt) {
|
||||
free (salt->salt);
|
||||
salt->salt = NULL;
|
||||
}
|
||||
|
||||
if( hashed_pw == NULL || hashed_pw[0] == '\0' ) {
|
||||
free( hashed_pw );
|
||||
return 1;
|
||||
}
|
||||
|
||||
buf = (char *)malloc (hashes[htype].namesz + 3 + strlen (hashed_pw));
|
||||
if (htype)
|
||||
sprintf (buf, "{%s}%s", hashes[htype].name, hashed_pw);
|
||||
|
|
|
|||
Loading…
Reference in a new issue