diff options
author | Dr. Stephen Henson <steve@openssl.org> | 2015-10-11 23:25:08 +0100 |
---|---|---|
committer | Dr. Stephen Henson <steve@openssl.org> | 2015-10-15 15:36:57 +0100 |
commit | 4002da0f52828dc4a495f7ac163d9e77c2774f3e (patch) | |
tree | 3753c69a15693946fc7c9bcce5e19e92e792e251 /crypto/asn1 | |
parent | f4f78ff7daf15f609a8bef1179d01cc982e37478 (diff) |
Handle embed flag in ASN1_STRING_copy().
Reviewed-by: Rich Salz <rsalz@openssl.org>
Diffstat (limited to 'crypto/asn1')
-rw-r--r-- | crypto/asn1/asn1_lib.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/crypto/asn1/asn1_lib.c b/crypto/asn1/asn1_lib.c index 12248dbf78..ef9223c485 100644 --- a/crypto/asn1/asn1_lib.c +++ b/crypto/asn1/asn1_lib.c @@ -284,7 +284,9 @@ int ASN1_STRING_copy(ASN1_STRING *dst, const ASN1_STRING *str) dst->type = str->type; if (!ASN1_STRING_set(dst, str->data, str->length)) return 0; - dst->flags = str->flags; + /* Copy flags but preserve embed value */ + dst->flags &= ASN1_STRING_FLAG_EMBED; + dst->flags |= str->flags & ~ASN1_STRING_FLAG_EMBED; return 1; } |