crypto/x509/x509_vpm.c: Simplify int_x509_param_set1()

This change also avoids calling strlen twice when srclen is 0

Reviewed-by: Rich Salz <rsalz@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
This commit is contained in:
Kurt Cancemi 2016-05-26 16:38:31 -04:00 committed by Matt Caswell
parent e2bb9b9bf3
commit 01d0e241dc

View file

@ -259,12 +259,11 @@ static int int_x509_param_set1(char **pdest, size_t *pdestlen,
{
void *tmp;
if (src) {
if (srclen == 0) {
tmp = OPENSSL_strdup(src);
if (srclen == 0)
srclen = strlen(src);
} else
tmp = OPENSSL_memdup(src, srclen);
if (!tmp)
tmp = OPENSSL_memdup(src, srclen);
if (tmp == NULL)
return 0;
} else {
tmp = NULL;
@ -272,7 +271,7 @@ static int int_x509_param_set1(char **pdest, size_t *pdestlen,
}
OPENSSL_free(*pdest);
*pdest = tmp;
if (pdestlen)
if (pdestlen != NULL)
*pdestlen = srclen;
return 1;
}