diff --git a/src/java.base/share/classes/java/net/URLConnection.java b/src/java.base/share/classes/java/net/URLConnection.java index c00fe946978..b98adf7a9a2 100644 --- a/src/java.base/share/classes/java/net/URLConnection.java +++ b/src/java.base/share/classes/java/net/URLConnection.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1995, 2021, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1995, 2022, 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 @@ -611,10 +611,12 @@ public Map> getHeaderFields() { * missing or malformed. */ public int getHeaderFieldInt(String name, int Default) { - String value = getHeaderField(name); - try { - return Integer.parseInt(value); - } catch (Exception e) { } + final String value = getHeaderField(name); + if (value != null) { + try { + return Integer.parseInt(value); + } catch (NumberFormatException e) { } + } return Default; } @@ -634,10 +636,12 @@ public int getHeaderFieldInt(String name, int Default) { * @since 1.7 */ public long getHeaderFieldLong(String name, long Default) { - String value = getHeaderField(name); - try { - return Long.parseLong(value); - } catch (Exception e) { } + final String value = getHeaderField(name); + if (value != null) { + try { + return Long.parseLong(value); + } catch (NumberFormatException e) { } + } return Default; } @@ -659,10 +663,12 @@ public long getHeaderFieldLong(String name, long Default) { */ @SuppressWarnings("deprecation") public long getHeaderFieldDate(String name, long Default) { - String value = getHeaderField(name); - try { - return Date.parse(value); - } catch (Exception e) { } + final String value = getHeaderField(name); + if (value != null) { + try { + return Date.parse(value); + } catch (Exception e) { } + } return Default; } diff --git a/src/java.base/share/classes/sun/net/www/protocol/http/HttpURLConnection.java b/src/java.base/share/classes/sun/net/www/protocol/http/HttpURLConnection.java index fec467887d1..d67caf77c16 100644 --- a/src/java.base/share/classes/sun/net/www/protocol/http/HttpURLConnection.java +++ b/src/java.base/share/classes/sun/net/www/protocol/http/HttpURLConnection.java @@ -1938,9 +1938,12 @@ private InputStream getInputStream0() throws IOException { continue; } - try { - cl = Long.parseLong(responses.findValue("content-length")); - } catch (Exception exc) { }; + final String contentLengthVal = responses.findValue("content-length"); + if (contentLengthVal != null) { + try { + cl = Long.parseLong(contentLengthVal); + } catch (NumberFormatException nfe) { } + } if (method.equals("HEAD") || cl == 0 || respCode == HTTP_NOT_MODIFIED ||