From cbf0f45f90ce316360f07c8b6c5f37b913d9c24d Mon Sep 17 00:00:00 2001 From: "Dr. Stephen Henson" Date: Wed, 10 Jan 2001 01:06:31 +0000 Subject: Fix uni2asc() so it can properly convert zero length unicode strings. Certain PKCS#12 files contain these in BMPStrings and it used to crash on them. --- crypto/pkcs12/p12_utl.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'crypto/pkcs12/p12_utl.c') diff --git a/crypto/pkcs12/p12_utl.c b/crypto/pkcs12/p12_utl.c index 2c2166e8d7..8ed3e0d0c7 100644 --- a/crypto/pkcs12/p12_utl.c +++ b/crypto/pkcs12/p12_utl.c @@ -83,7 +83,7 @@ char *uni2asc (unsigned char *uni, int unilen) char *asctmp; asclen = unilen / 2; /* If no terminating zero allow for one */ - if (uni[unilen - 1]) asclen++; + if (!unilen || uni[unilen - 1]) asclen++; uni++; if (!(asctmp = OPENSSL_malloc (asclen))) return NULL; for (i = 0; i < unilen; i+=2) asctmp[i>>1] = uni[i]; -- cgit v1.2.3