diff options
author | Nikos Mavrogiannopoulos <nmav@redhat.com> | 2017-06-15 12:43:48 +0200 |
---|---|---|
committer | Nikos Mavrogiannopoulos <nmav@redhat.com> | 2017-06-15 14:28:13 +0200 |
commit | 438682a23b55b001e66ec4ba1bd81e2e67f2b37e (patch) | |
tree | 7799be8b6670176f42aa794d9421c708f889fddf | |
parent | 6a91be6ff272a2be0863cd905b2228a9e558566a (diff) | |
download | gnutls-438682a23b55b001e66ec4ba1bd81e2e67f2b37e.tar.gz |
ocsp: added sanity check in returned length
This addresses:
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1492
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
-rw-r--r-- | lib/x509/ocsp.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/x509/ocsp.c b/lib/x509/ocsp.c index af45369ab9..dcdf435d2b 100644 --- a/lib/x509/ocsp.c +++ b/lib/x509/ocsp.c @@ -981,6 +981,9 @@ int gnutls_ocsp_resp_get_status(gnutls_ocsp_resp_t resp) return _gnutls_asn2err(ret); } + if (len != 1) + return gnutls_assert_val(GNUTLS_E_UNEXPECTED_PACKET); + switch (str[0]) { case GNUTLS_OCSP_RESP_SUCCESSFUL: case GNUTLS_OCSP_RESP_MALFORMEDREQUEST: @@ -990,7 +993,7 @@ int gnutls_ocsp_resp_get_status(gnutls_ocsp_resp_t resp) case GNUTLS_OCSP_RESP_UNAUTHORIZED: break; default: - return GNUTLS_E_UNEXPECTED_PACKET; + return gnutls_assert_val(GNUTLS_E_UNEXPECTED_PACKET); } return (int) str[0]; |