Browse Source

168322 - Check size of hash needed before base64 encoding password hashes

Nathan Kinder 20 years ago
parent
commit
f92eb82896
1 changed files with 2 additions and 2 deletions
  1. 2 2
      ldap/servers/plugins/pwdstorage/ssha_pwd.c

+ 2 - 2
ldap/servers/plugins/pwdstorage/ssha_pwd.c

@@ -175,14 +175,14 @@ salted_sha_pw_enc( char *pwd, unsigned int shaLen )
     }
                                                                                                                             
     if (( enc = slapi_ch_malloc( 3 + schemeNameLen +
-        LDIF_BASE64_LEN(sizeof(hash)))) == NULL ) {
+        LDIF_BASE64_LEN(shaLen + SHA_SALT_LENGTH))) == NULL ) {
         return( NULL );
     }
                                                                                                                             
     sprintf( enc, "%c%s%c", PWD_HASH_PREFIX_START, schemeName,
         PWD_HASH_PREFIX_END );
     (void)ldif_base64_encode( hash, enc + 2 + schemeNameLen,
-        sizeof(hash), -1 );
+        (shaLen + SHA_SALT_LENGTH), -1 );
                                                                                                                             
     return( enc );
 }