Fix off by 1 in ASN1_STRING_set()
authorKurt Roeckx <kurt@roeckx.be>
Sat, 6 Aug 2016 17:16:00 +0000 (19:16 +0200)
committerKurt Roeckx <kurt@roeckx.be>
Sat, 20 Aug 2016 16:53:56 +0000 (18:53 +0200)
Reviewed-by: Rich Salz <rsalz@openssl.org>
MR: #3176

crypto/asn1/asn1_lib.c

index f2f07ac..9dfe395 100644 (file)
@@ -271,7 +271,7 @@ int ASN1_STRING_set(ASN1_STRING *str, const void *_data, int len)
         else
             len = strlen(data);
     }
         else
             len = strlen(data);
     }
-    if ((str->length < len) || (str->data == NULL)) {
+    if ((str->length <= len) || (str->data == NULL)) {
         c = str->data;
         str->data = OPENSSL_realloc(c, len + 1);
         if (str->data == NULL) {
         c = str->data;
         str->data = OPENSSL_realloc(c, len + 1);
         if (str->data == NULL) {