From fa7b5da860dee27593a59c78d5e416402cb65e7b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Love=20H=C3=B6rnquist=20=C3=85strand?= Date: Sun, 30 Apr 2006 07:36:27 +0000 Subject: [PATCH] (cert2epi): don't include subject if its null git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@17368 ec53bebd-3082-4978-b11e-865c3cabbd6b --- lib/krb5/pkinit.c | 29 +++++++++++++++++------------ 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/lib/krb5/pkinit.c b/lib/krb5/pkinit.c index b0939a16b..cea699f66 100644 --- a/lib/krb5/pkinit.c +++ b/lib/krb5/pkinit.c @@ -177,20 +177,25 @@ cert2epi(hx509_context context, void *ctx, hx509_cert c) if (ret) return ret; - id.subjectName = calloc(1, sizeof(*id.subjectName)); - if (id.subjectName == NULL) { - hx509_name_free(&subject); - free_ExternalPrincipalIdentifier(&id); - return ENOMEM; - } + if (hx509_name_is_null_p(subject) != 0) { + + id.subjectName = calloc(1, sizeof(*id.subjectName)); + if (id.subjectName == NULL) { + hx509_name_free(&subject); + free_ExternalPrincipalIdentifier(&id); + return ENOMEM; + } - ret = hx509_name_to_der_name(subject, &id.subjectName->data, - &id.subjectName->length); - hx509_name_free(&subject); - if (ret) { - free_ExternalPrincipalIdentifier(&id); - return ret; + ret = hx509_name_to_der_name(subject, &id.subjectName->data, + &id.subjectName->length); + if (ret) { + hx509_name_free(&subject); + free_ExternalPrincipalIdentifier(&id); + return ret; + } } + hx509_name_free(&subject); + id.issuerAndSerialNumber = calloc(1, sizeof(*id.issuerAndSerialNumber)); if (id.issuerAndSerialNumber == NULL) {