1
diff -Nur gnutls13-1.4.0/lib/x509/verify.c gnutls13-1.4.0.new/lib/x509/verify.c
2
--- gnutls13-1.4.0/lib/x509/verify.c 2006-03-08 11:44:59.000000000 +0100
3
+++ gnutls13-1.4.0.new/lib/x509/verify.c 2006-09-18 14:22:31.000000000 +0200
5
return GNUTLS_E_UNKNOWN_HASH_ALGORITHM;
8
+ len = sizeof (str) - 1;
9
+ result = asn1_read_value (dinfo, "digestAlgorithm.parameters", str, &len);
10
+ /* To avoid permitting garbage in the parameters field, either the
11
+ parameters field is not present, or it contains 0x05 0x00. */
12
+ if (!(result == ASN1_ELEMENT_NOT_FOUND ||
13
+ (result == ASN1_SUCCESS && len == 2 &&
14
+ str[0] == 0x05 && str[1] == 0x00)))
17
+ asn1_delete_structure (&dinfo);
18
+ return GNUTLS_E_ASN1_GENERIC_ERROR;
21
result = asn1_read_value (dinfo, "digest", digest, digest_size);
22
if (result != ASN1_SUCCESS)