From 182b4e1b1f66e863acad906c2f4ed21341de37bb Mon Sep 17 00:00:00 2001 From: Pascal Hartig Date: Wed, 16 Oct 2019 09:28:33 -0700 Subject: [PATCH] Set stricter limit for body payloads Summary: Base64 encoding can easily cause OOMs for large payloads. In the long-term, it would be great to have a way of streaming these responses so we don't allocate 50MB chunks of memory at once. Reviewed By: jknoxville Differential Revision: D17951353 fbshipit-source-id: a5d7b8242892518590ac95c1d9751f24d20dc40e --- .../flipper/plugins/network/NetworkFlipperPlugin.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/android/plugins/network/src/main/java/com/facebook/flipper/plugins/network/NetworkFlipperPlugin.java b/android/plugins/network/src/main/java/com/facebook/flipper/plugins/network/NetworkFlipperPlugin.java index 357b89855..7919cef8a 100644 --- a/android/plugins/network/src/main/java/com/facebook/flipper/plugins/network/NetworkFlipperPlugin.java +++ b/android/plugins/network/src/main/java/com/facebook/flipper/plugins/network/NetworkFlipperPlugin.java @@ -16,6 +16,7 @@ import java.util.List; public class NetworkFlipperPlugin extends BufferingFlipperPlugin implements NetworkReporter { public static final String ID = "Network"; + private static final int MAX_BODY_SIZE_IN_BYTES = 1024 * 1024; private final List mFormatters; @@ -114,6 +115,10 @@ public class NetworkFlipperPlugin extends BufferingFlipperPlugin implements Netw return false; } + if (responseInfo.body != null && responseInfo.body.length > MAX_BODY_SIZE_IN_BYTES) { + return true; + } + return contentType.value.contains("image/") || contentType.value.contains("video/") || contentType.value.contains("application/zip");