diff options
author | Nikos Mavrogiannopoulos <nmav@redhat.com> | 2014-06-10 16:32:19 +0200 |
---|---|---|
committer | Nikos Mavrogiannopoulos <nmav@redhat.com> | 2014-06-10 16:32:19 +0200 |
commit | 6e1fd795d1e50f97db694a3b510f8534f37314a1 (patch) | |
tree | 0fff83a62350d5c66a671cce46e8b47473a666b0 | |
parent | 694c6a7f80c02cc2a746828d9b70e6e34a6069c4 (diff) | |
download | gnutls-6e1fd795d1e50f97db694a3b510f8534f37314a1.tar.gz |
When decoding of a DN string fails, treat it as unknown string and print its hex value.
-rw-r--r-- | lib/x509/common.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/x509/common.c b/lib/x509/common.c index 45f2377bf6..68b4cefbfd 100644 --- a/lib/x509/common.c +++ b/lib/x509/common.c @@ -438,6 +438,7 @@ _gnutls_x509_dn_to_string (const char *oid, void *value, oentry = get_oid_entry(oid); if (oentry == NULL) { /* unknown OID -> hex */ + unknown_oid: str->size = value_size*2+2; str->data = gnutls_malloc(str->size); if (str->data == NULL) @@ -459,14 +460,14 @@ _gnutls_x509_dn_to_string (const char *oid, void *value, { /* complex */ ret = decode_complex_string(oentry, value, value_size, &tmp); if (ret < 0) - return gnutls_assert_val(ret); + goto unknown_oid; } else { ret = _gnutls_x509_decode_string(oentry->etype, value, value_size, &tmp); if (ret < 0) - return gnutls_assert_val(ret); + goto unknown_oid; } ret = str_escape(&tmp, str); |