From: Simon Josefsson Date: Wed, 3 Jun 2009 03:51:59 +0000 (+0200) Subject: Simplify. X-Git-Tag: gnutls_2_9_1~18 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=d760e0ec9c1da326e660b8d5fa93125e47848cf6;p=thirdparty%2Fgnutls.git Simplify. --- diff --git a/lib/x509/crq.c b/lib/x509/crq.c index 6d05efebf6..772ec055f1 100644 --- a/lib/x509/crq.c +++ b/lib/x509/crq.c @@ -2076,38 +2076,31 @@ gnutls_x509_crq_get_key_purpose_oid (gnutls_x509_crq_t crq, else *sizeof_oid = 0; - /* Check if the extension already exists. + /* Extract extension. */ result = gnutls_x509_crq_get_extension_by_oid (crq, "2.5.29.37", 0, NULL, &prev.size, critical); - switch (result) + if (result < 0) { - case GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE: - /* Replacing non-existing data means the same as set data. */ - break; - - case GNUTLS_E_SUCCESS: - prev.data = gnutls_malloc (prev.size); - if (prev.data == NULL) - { - gnutls_assert (); - return GNUTLS_E_MEMORY_ERROR; - } + gnutls_assert (); + return result; + } - result = gnutls_x509_crq_get_extension_by_oid (crq, "2.5.29.37", 0, - prev.data, &prev.size, - critical); - if (result < 0) - { - gnutls_assert (); - gnutls_free (prev.data); - return result; - } - break; + prev.data = gnutls_malloc (prev.size); + if (prev.data == NULL) + { + gnutls_assert (); + return GNUTLS_E_MEMORY_ERROR; + } - default: + result = gnutls_x509_crq_get_extension_by_oid (crq, "2.5.29.37", 0, + prev.data, &prev.size, + critical); + if (result < 0) + { gnutls_assert (); + gnutls_free (prev.data); return result; } @@ -2120,17 +2113,13 @@ gnutls_x509_crq_get_key_purpose_oid (gnutls_x509_crq_t crq, return _gnutls_asn2err (result); } - - if (prev.data) + result = asn1_der_decoding (&c2, prev.data, prev.size, NULL); + gnutls_free (prev.data); + if (result != ASN1_SUCCESS) { - result = asn1_der_decoding (&c2, prev.data, prev.size, NULL); - gnutls_free (prev.data); - if (result != ASN1_SUCCESS) - { - gnutls_assert (); - asn1_delete_structure (&c2); - return _gnutls_asn2err (result); - } + gnutls_assert (); + asn1_delete_structure (&c2); + return _gnutls_asn2err (result); } indx++; @@ -2157,7 +2146,6 @@ gnutls_x509_crq_get_key_purpose_oid (gnutls_x509_crq_t crq, } return 0; - } /**