diff options
Diffstat (limited to 'crypto/x509')
-rw-r--r-- | crypto/x509/x509_vpm.c | 11 |
1 files changed, 5 insertions, 6 deletions
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; } |