Skip to content
Snippets Groups Projects
Commit 137748e4 authored by Luca Bruno's avatar Luca Bruno Committed by Quanah Gibson-Mount
Browse files

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: default avatarLuca Bruno <luca.bruno@rocket-internet.de>
parent b567d098
No related branches found
No related tags found
No related merge requests found
......@@ -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;
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment