diff --git a/libraries/liblutil/passwd.c b/libraries/liblutil/passwd.c index 45f0ac661e..9bf78292c8 100644 --- a/libraries/liblutil/passwd.c +++ b/libraries/liblutil/passwd.c @@ -485,7 +485,7 @@ static int chk_ssha1( rc = lutil_b64_pton(passwd->bv_val, orig_pass, passwd->bv_len); - if (rc <= sizeof(SHA1digest)) { + if (rc < 0 || (unsigned)rc <= sizeof(SHA1digest)) { ber_memfree(orig_pass); return -1; } @@ -566,7 +566,7 @@ static int chk_smd5( rc = lutil_b64_pton(passwd->bv_val, orig_pass, passwd->bv_len); - if (rc <= sizeof(MD5digest)) { + if (rc < 0 || (unsigned)rc <= sizeof(MD5digest)) { ber_memfree(orig_pass); return -1; }