From e15abbc69fdc452ebfe5dff323a6f9d9d62efbd4 Mon Sep 17 00:00:00 2001 From: "Dr. Stephen Henson" Date: Mon, 12 Feb 2001 03:16:13 +0000 Subject: [PATCH] Make X509_NAME produce correct encoding when empty. --- CHANGES | 4 ++++ crypto/asn1/x_name.c | 5 +++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/CHANGES b/CHANGES index 3030c8cf87..bfcdca2490 100644 --- a/CHANGES +++ b/CHANGES @@ -4,6 +4,10 @@ Changes between 0.9.6 and 0.9.6a [xx XXX 2001] + *) Fix X509_NAME bug which produced incorrect encoding if X509_NAME + was empty. + [Steve Henson] + *) Use the cached encoding of an X509_NAME structure rather than copying it. This is apparently the reason for the libsafe "errors" but the code is actually correct. diff --git a/crypto/asn1/x_name.c b/crypto/asn1/x_name.c index b832deb928..585a375c48 100644 --- a/crypto/asn1/x_name.c +++ b/crypto/asn1/x_name.c @@ -141,8 +141,9 @@ static int i2d_X509_NAME_entries(X509_NAME *a) } size+=i2d_X509_NAME_ENTRY(ne,NULL); } - - ret+=ASN1_object_size(1,size,V_ASN1_SET); + /* If empty no extra SET OF needed */ + if (ret) + ret+=ASN1_object_size(1,size,V_ASN1_SET); if (fe != NULL) fe->size=size; -- 2.25.1