X-Git-Url: https://git.openssl.org/?p=openssl.git;a=blobdiff_plain;f=crypto%2Fx509%2Fx509_vpm.c;h=194d09b36654617ddeb134bcfcd32a2d6aa6d9b0;hp=f7ecdec8c56819f1d6e0b176e529eac472c7acec;hb=01d0e241dc4184a5a1f222f8eccdad11da12305a;hpb=e2bb9b9bf355792d89e131518cc0fd141d46ca5c diff --git a/crypto/x509/x509_vpm.c b/crypto/x509/x509_vpm.c index f7ecdec8c5..194d09b366 100644 --- a/crypto/x509/x509_vpm.c +++ b/crypto/x509/x509_vpm.c @@ -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; }