mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-28 07:14:30 +02:00
8296343: CPVE thrown on missing content-length in OCSP response
Reviewed-by: mullan, rhalade
This commit is contained in:
parent
86fed79670
commit
1a3cb8c501
9 changed files with 362 additions and 116 deletions
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2009, 2022, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2009, 2023, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -206,20 +206,23 @@ public final class OCSP {
|
|||
out.flush();
|
||||
}
|
||||
|
||||
// Check the response
|
||||
if (debug != null &&
|
||||
con.getResponseCode() != HttpURLConnection.HTTP_OK) {
|
||||
debug.println("Received HTTP error: " + con.getResponseCode()
|
||||
+ " - " + con.getResponseMessage());
|
||||
// Check the response. Non-200 codes will generate an exception
|
||||
// but path validation may complete successfully if revocation info
|
||||
// can be obtained elsewhere (e.g. CRL).
|
||||
int respCode = con.getResponseCode();
|
||||
if (respCode != HttpURLConnection.HTTP_OK) {
|
||||
String msg = "Received HTTP error: " + respCode + " - " +
|
||||
con.getResponseMessage();
|
||||
if (debug != null) {
|
||||
debug.println(msg);
|
||||
}
|
||||
throw new IOException(msg);
|
||||
}
|
||||
|
||||
int contentLength = con.getContentLength();
|
||||
if (contentLength == -1) {
|
||||
contentLength = Integer.MAX_VALUE;
|
||||
}
|
||||
|
||||
return IOUtils.readExactlyNBytes(con.getInputStream(),
|
||||
contentLength);
|
||||
return (contentLength == -1) ? con.getInputStream().readAllBytes() :
|
||||
IOUtils.readExactlyNBytes(con.getInputStream(),
|
||||
contentLength);
|
||||
} finally {
|
||||
if (con != null) {
|
||||
con.disconnect();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue