From eea77d6b19c94e4e65338646552871b6d61c3f6d Mon Sep 17 00:00:00 2001 From: Sanjay Malakar Date: Sat, 28 Feb 2026 10:56:03 -0800 Subject: [PATCH] SplitInputStream: close all underlying streams even if one close fails Signed-off-by: Sanjay Malakar --- .../io/github/muntashirakon/io/SplitInputStream.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/libcore/io/src/main/java/io/github/muntashirakon/io/SplitInputStream.java b/libcore/io/src/main/java/io/github/muntashirakon/io/SplitInputStream.java index 12f9c40731f..37846eeb94d 100644 --- a/libcore/io/src/main/java/io/github/muntashirakon/io/SplitInputStream.java +++ b/libcore/io/src/main/java/io/github/muntashirakon/io/SplitInputStream.java @@ -79,9 +79,19 @@ public long skip(long n) throws IOException { @Override public void close() throws IOException { + IOException failure = null; for (InputStream stream : mInputStreams) { - stream.close(); + try { + stream.close(); + } catch (IOException e) { + if (failure == null) { + failure = e; + } else { + failure.addSuppressed(e); + } + } } + if (failure != null) throw failure; } @Override