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 17:02:12 +0000 (19:02 +0200)
Reviewed-by: Rich Salz <rsalz@openssl.org>
MR: #3176
(cherry picked from commit a73be798ced572a988d455d961a2387f6eccb549)

crypto/asn1/asn1_lib.c

index 80f5f2b014947472c75574a4e93e9f0bbf931ed8..e63e82a8b476265c0dfdb65c145a31591b2dd6dd 100644 (file)
@@ -370,7 +370,7 @@ int ASN1_STRING_set(ASN1_STRING *str, const void *_data, int len)
         else
             len = strlen(data);
     }
-    if ((str->length < len) || (str->data == NULL)) {
+    if ((str->length <= len) || (str->data == NULL)) {
         c = str->data;
         if (c == NULL)
             str->data = OPENSSL_malloc(len + 1);