/* $OpenLDAP$ */
/* This work is part of OpenLDAP Software <http://www.openldap.org/>.
*
- * Copyright 2009-2013 The OpenLDAP Foundation.
+ * Copyright 2009-2018 The OpenLDAP Foundation.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
unsigned char SHAdigest[SHA256_DIGEST_LENGTH];
int rc;
unsigned char *orig_pass = NULL;
+ size_t decode_len = LUTIL_BASE64_DECODE_LEN(passwd->bv_len);
/* safety check */
- if (LUTIL_BASE64_DECODE_LEN(passwd->bv_len) <= sizeof(SHAdigest)) {
+ if (decode_len <= sizeof(SHAdigest)) {
return LUTIL_PASSWD_ERR;
}
/* base64 un-encode password */
- orig_pass = (unsigned char *) ber_memalloc( (size_t) (
- LUTIL_BASE64_DECODE_LEN(passwd->bv_len) + 1) );
+ orig_pass = (unsigned char *) ber_memalloc(decode_len + 1);
if( orig_pass == NULL ) return LUTIL_PASSWD_ERR;
- rc = lutil_b64_pton(passwd->bv_val, orig_pass, passwd->bv_len);
+ rc = lutil_b64_pton(passwd->bv_val, orig_pass, decode_len);
- if( rc <= sizeof(SHAdigest) ) {
+ if( rc <= (int)(sizeof(SHAdigest)) ) {
ber_memfree(orig_pass);
return LUTIL_PASSWD_ERR;
}
unsigned char SHAdigest[SHA256_DIGEST_LENGTH];
int rc;
unsigned char *orig_pass = NULL;
+ size_t decode_len = LUTIL_BASE64_DECODE_LEN(passwd->bv_len);
/* safety check */
- if (LUTIL_BASE64_DECODE_LEN(passwd->bv_len) < sizeof(SHAdigest)) {
+ if (decode_len < sizeof(SHAdigest)) {
return LUTIL_PASSWD_ERR;
}
/* base64 un-encode password */
- orig_pass = (unsigned char *) ber_memalloc( (size_t) (
- LUTIL_BASE64_DECODE_LEN(passwd->bv_len) + 1) );
+ orig_pass = (unsigned char *) ber_memalloc(decode_len + 1);
if( orig_pass == NULL ) return LUTIL_PASSWD_ERR;
- rc = lutil_b64_pton(passwd->bv_val, orig_pass, passwd->bv_len);
+ rc = lutil_b64_pton(passwd->bv_val, orig_pass, decode_len);
if( rc != sizeof(SHAdigest) ) {
ber_memfree(orig_pass);
unsigned char SHAdigest[SHA384_DIGEST_LENGTH];
int rc;
unsigned char *orig_pass = NULL;
+ size_t decode_len = LUTIL_BASE64_DECODE_LEN(passwd->bv_len);
/* safety check */
- if (LUTIL_BASE64_DECODE_LEN(passwd->bv_len) <= sizeof(SHAdigest)) {
+ if (decode_len <= sizeof(SHAdigest)) {
return LUTIL_PASSWD_ERR;
}
/* base64 un-encode password */
- orig_pass = (unsigned char *) ber_memalloc( (size_t) (
- LUTIL_BASE64_DECODE_LEN(passwd->bv_len) + 1) );
+ orig_pass = (unsigned char *) ber_memalloc(decode_len + 1);
if( orig_pass == NULL ) return LUTIL_PASSWD_ERR;
- rc = lutil_b64_pton(passwd->bv_val, orig_pass, passwd->bv_len);
+ rc = lutil_b64_pton(passwd->bv_val, orig_pass, decode_len);
- if( rc <= sizeof(SHAdigest) ) {
+ if( rc <= (int)(sizeof(SHAdigest)) ) {
ber_memfree(orig_pass);
return LUTIL_PASSWD_ERR;
}
unsigned char SHAdigest[SHA384_DIGEST_LENGTH];
int rc;
unsigned char *orig_pass = NULL;
+ size_t decode_len = LUTIL_BASE64_DECODE_LEN(passwd->bv_len);
/* safety check */
- if (LUTIL_BASE64_DECODE_LEN(passwd->bv_len) < sizeof(SHAdigest)) {
+ if (decode_len < sizeof(SHAdigest)) {
return LUTIL_PASSWD_ERR;
}
/* base64 un-encode password */
- orig_pass = (unsigned char *) ber_memalloc( (size_t) (
- LUTIL_BASE64_DECODE_LEN(passwd->bv_len) + 1) );
+ orig_pass = (unsigned char *) ber_memalloc(decode_len + 1);
if( orig_pass == NULL ) return LUTIL_PASSWD_ERR;
- rc = lutil_b64_pton(passwd->bv_val, orig_pass, passwd->bv_len);
+ rc = lutil_b64_pton(passwd->bv_val, orig_pass, decode_len);
if( rc != sizeof(SHAdigest) ) {
ber_memfree(orig_pass);
unsigned char SHAdigest[SHA512_DIGEST_LENGTH];
int rc;
unsigned char *orig_pass = NULL;
+ size_t decode_len = LUTIL_BASE64_DECODE_LEN(passwd->bv_len);
/* safety check */
- if (LUTIL_BASE64_DECODE_LEN(passwd->bv_len) <= sizeof(SHAdigest)) {
+ if (decode_len <= sizeof(SHAdigest)) {
return LUTIL_PASSWD_ERR;
}
/* base64 un-encode password */
- orig_pass = (unsigned char *) ber_memalloc( (size_t) (
- LUTIL_BASE64_DECODE_LEN(passwd->bv_len) + 1) );
+ orig_pass = (unsigned char *) ber_memalloc(decode_len + 1);
if( orig_pass == NULL ) return LUTIL_PASSWD_ERR;
- rc = lutil_b64_pton(passwd->bv_val, orig_pass, passwd->bv_len);
+ rc = lutil_b64_pton(passwd->bv_val, orig_pass, decode_len);
- if( rc <= sizeof(SHAdigest) ) {
+ if( rc <= (int)(sizeof(SHAdigest)) ) {
ber_memfree(orig_pass);
return LUTIL_PASSWD_ERR;
}
unsigned char SHAdigest[SHA512_DIGEST_LENGTH];
int rc;
unsigned char *orig_pass = NULL;
+ size_t decode_len = LUTIL_BASE64_DECODE_LEN(passwd->bv_len);
/* safety check */
- if (LUTIL_BASE64_DECODE_LEN(passwd->bv_len) < sizeof(SHAdigest)) {
+ if (decode_len < sizeof(SHAdigest)) {
return LUTIL_PASSWD_ERR;
}
/* base64 un-encode password */
- orig_pass = (unsigned char *) ber_memalloc( (size_t) (
- LUTIL_BASE64_DECODE_LEN(passwd->bv_len) + 1) );
+ orig_pass = (unsigned char *) ber_memalloc(decode_len + 1);
if( orig_pass == NULL ) return LUTIL_PASSWD_ERR;
- rc = lutil_b64_pton(passwd->bv_val, orig_pass, passwd->bv_len);
+ rc = lutil_b64_pton(passwd->bv_val, orig_pass, decode_len);
if( rc != sizeof(SHAdigest) ) {
ber_memfree(orig_pass);