asn1_read_value may return error code in a positive integer thus the
previous code could lead to an access to uninitialized value. This is
a regression in the RSA-OAEP support. Spotted by oss-fuzz:
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=67300
Signed-off-by: Daiki Ueno <ueno@gnu.org>
size = sizeof(oid);
result = asn1_read_value(root, buffer, oid, &size);
- if (result < 0) {
+ if (result != ASN1_SUCCESS) {
if (result == ASN1_ELEMENT_NOT_FOUND && allow_null)
return 0;
gnutls_assert();
size = sizeof(oid);
result = asn1_read_value(root, buffer, oid, &size);
- if (result < 0) {
+ if (result != ASN1_SUCCESS) {
if (result != ASN1_ELEMENT_NOT_FOUND && allow_null)
return 0;