summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNikos Mavrogiannopoulos <nmav@redhat.com>2014-06-10 16:32:19 +0200
committerNikos Mavrogiannopoulos <nmav@redhat.com>2014-06-10 16:32:19 +0200
commit6e1fd795d1e50f97db694a3b510f8534f37314a1 (patch)
tree0fff83a62350d5c66a671cce46e8b47473a666b0
parent694c6a7f80c02cc2a746828d9b70e6e34a6069c4 (diff)
downloadgnutls-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.c5
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);