summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/x509/dn.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/lib/x509/dn.c b/lib/x509/dn.c
index 3395941403..b1b8a54e76 100644
--- a/lib/x509/dn.c
+++ b/lib/x509/dn.c
@@ -208,8 +208,12 @@ _gnutls_x509_get_dn(ASN1_TYPE asn1_struct,
result = asn1_number_of_elements(asn1_struct, asn1_rdn_name, &k1);
if (result != ASN1_SUCCESS) {
- gnutls_assert();
- result = _gnutls_asn2err(result);
+ if (result == ASN1_ELEMENT_NOT_FOUND || result == ASN1_VALUE_NOT_FOUND) {
+ result = gnutls_assert_val(GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE);
+ } else {
+ gnutls_assert();
+ result = _gnutls_asn2err(result);
+ }
goto cleanup;
}