Merge "Stop using invalid URL to prevent unexpected crash" into qt-dev am: 3ac8d1dc2f
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/18715266 Change-Id: Ia7d1ef07c32c791d71c7bd4561641620aaa66de1 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -37,6 +37,7 @@ import android.os.SystemClock;
|
||||
import android.os.SystemProperties;
|
||||
import android.provider.Settings;
|
||||
import android.util.Log;
|
||||
import android.webkit.URLUtil;
|
||||
|
||||
import com.android.internal.annotations.GuardedBy;
|
||||
import com.android.internal.util.TrafficStatsConstants;
|
||||
@@ -215,8 +216,22 @@ public class PacManager {
|
||||
* @throws IOException if the URL is malformed, or the PAC file is too big.
|
||||
*/
|
||||
private static String get(Uri pacUri) throws IOException {
|
||||
URL url = new URL(pacUri.toString());
|
||||
URLConnection urlConnection = url.openConnection(java.net.Proxy.NO_PROXY);
|
||||
if (!URLUtil.isValidUrl(pacUri.toString())) {
|
||||
throw new IOException("Malformed URL:" + pacUri);
|
||||
}
|
||||
|
||||
final URL url = new URL(pacUri.toString());
|
||||
URLConnection urlConnection;
|
||||
try {
|
||||
urlConnection = url.openConnection(java.net.Proxy.NO_PROXY);
|
||||
// Catch the possible exceptions and rethrow as IOException to not to crash the system
|
||||
// for illegal input.
|
||||
} catch (IllegalArgumentException e) {
|
||||
throw new IOException("Incorrect proxy type for " + pacUri);
|
||||
} catch (UnsupportedOperationException e) {
|
||||
throw new IOException("Unsupported URL connection type for " + pacUri);
|
||||
}
|
||||
|
||||
long contentLength = -1;
|
||||
try {
|
||||
contentLength = Long.parseLong(urlConnection.getHeaderField("Content-Length"));
|
||||
|
||||
Reference in New Issue
Block a user