mirror of
https://git.openldap.org/openldap/openldap.git
synced 2025-12-25 00:59:45 -05:00
ITS#8198 Fix an always-true check
Fixed asprintf return value check, in order to properly catch
error conditions. This has been caught by clang -Wtautological-compare:
pw-pbkdf2.c:132:17: warning: comparison of unsigned expression < 0 is always false
if(msg->bv_len < 0){
~~~~~~~~~~~ ^ ~
Signed-off-by: Luca Bruno <luca.bruno@rocket-internet.de>
This commit is contained in:
parent
0dba4d2c9a
commit
ba20d70d2b
1 changed files with 5 additions and 3 deletions
|
|
@ -99,7 +99,7 @@ static int pbkdf2_format(
|
|||
struct berval *msg)
|
||||
{
|
||||
|
||||
int rc;
|
||||
int rc, msg_len;
|
||||
char salt_b64[LUTIL_BASE64_ENCODE_LEN(PBKDF2_SALT_SIZE) + 1];
|
||||
char dk_b64[LUTIL_BASE64_ENCODE_LEN(PBKDF2_MAX_DK_SIZE) + 1];
|
||||
|
||||
|
|
@ -115,13 +115,15 @@ static int pbkdf2_format(
|
|||
return LUTIL_PASSWD_ERR;
|
||||
}
|
||||
b64_to_ab64(dk_b64);
|
||||
msg->bv_len = asprintf(&msg->bv_val, "%s%d$%s$%s",
|
||||
msg_len = asprintf(&msg->bv_val, "%s%d$%s$%s",
|
||||
sc->bv_val, iteration,
|
||||
salt_b64, dk_b64);
|
||||
if(msg->bv_len < 0){
|
||||
if(msg_len < 0){
|
||||
msg->bv_len = 0;
|
||||
return LUTIL_PASSWD_ERR;
|
||||
}
|
||||
|
||||
msg->bv_len = msg_len;
|
||||
return LUTIL_PASSWD_OK;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue