diff options
Diffstat (limited to 'freebsd/crypto/openssl/crypto/asn1/a_bitstr.c')
-rw-r--r-- | freebsd/crypto/openssl/crypto/asn1/a_bitstr.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/freebsd/crypto/openssl/crypto/asn1/a_bitstr.c b/freebsd/crypto/openssl/crypto/asn1/a_bitstr.c index 25db8b06..a98bb9b9 100644 --- a/freebsd/crypto/openssl/crypto/asn1/a_bitstr.c +++ b/freebsd/crypto/openssl/crypto/asn1/a_bitstr.c @@ -116,10 +116,11 @@ int i2c_ASN1_BIT_STRING(ASN1_BIT_STRING *a, unsigned char **pp) *(p++) = (unsigned char)bits; d = a->data; - memcpy(p, d, len); - p += len; - if (len > 0) + if (len > 0) { + memcpy(p, d, len); + p += len; p[-1] &= (0xff << bits); + } *pp = p; return (ret); } |