summaryrefslogtreecommitdiffstats
path: root/crypto/asn1/asn1_lib.c
diff options
context:
space:
mode:
authorDr. Stephen Henson <steve@openssl.org>2007-04-13 03:06:41 +0200
committerDr. Stephen Henson <steve@openssl.org>2007-04-13 03:06:41 +0200
commit9cfc8a9d5cb95c44251eff88d794482f8e413820 (patch)
tree8cdc355417d88d86bebc957b5c3e9ed928b682c3 /crypto/asn1/asn1_lib.c
parentCopy update callback across when copying EVP_MD_CTX. (diff)
downloadopenssl-9cfc8a9d5cb95c44251eff88d794482f8e413820.tar.xz
openssl-9cfc8a9d5cb95c44251eff88d794482f8e413820.zip
Update smime utility to support streaming for -encrypt and -sign -nodetach
options. Add new streaming i2d (though strictly speaking it is BER format when streaming) and PEM functions. These all process content on the fly without storing it all in memory.
Diffstat (limited to 'crypto/asn1/asn1_lib.c')
-rw-r--r--crypto/asn1/asn1_lib.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/crypto/asn1/asn1_lib.c b/crypto/asn1/asn1_lib.c
index 73fc467331..b2b557c24e 100644
--- a/crypto/asn1/asn1_lib.c
+++ b/crypto/asn1/asn1_lib.c
@@ -427,7 +427,8 @@ ASN1_STRING *ASN1_STRING_type_new(int type)
void ASN1_STRING_free(ASN1_STRING *a)
{
if (a == NULL) return;
- if (a->data != NULL) OPENSSL_free(a->data);
+ if (a->data && !(a->flags & ASN1_STRING_FLAG_NDEF))
+ OPENSSL_free(a->data);
OPENSSL_free(a);
}