PR: 2736
authorDr. Stephen Henson <steve@openssl.org>
Mon, 27 Feb 2012 18:45:06 +0000 (18:45 +0000)
committerDr. Stephen Henson <steve@openssl.org>
Mon, 27 Feb 2012 18:45:06 +0000 (18:45 +0000)
Reported by: Remi Gacogne <rgacogne-bugs@coredump.fr>

Preserve unused bits value in non-canonicalised ASN1_STRING structures
by using ASN1_STRING_copy which preseves flags.

crypto/asn1/x_name.c

index 49be08b4daab7d43ba4ccaebd5f164e261264cd9..d7c2318693f5aab79ba34885aeee1987e251d117 100644 (file)
@@ -399,8 +399,7 @@ static int asn1_string_canon(ASN1_STRING *out, ASN1_STRING *in)
        /* If type not in bitmask just copy string across */
        if (!(ASN1_tag2bit(in->type) & ASN1_MASK_CANON))
                {
-               out->type = in->type;
-               if (!ASN1_STRING_set(out, in->data, in->length))
+               if (!ASN1_STRING_copy(out, in))
                        return 0;
                return 1;
                }