Repository: tez Updated Branches: refs/heads/branch-0.9 4059a7c64 -> f790fc356
TEZ-3962. Configuration decode leaks an Inflater object (Eric Wohlstadter via jlowe) (cherry picked from commit 314dfc79b4b3f528b680b4fee73ad0dca3a3a19b) Project: http://git-wip-us.apache.org/repos/asf/tez/repo Commit: http://git-wip-us.apache.org/repos/asf/tez/commit/f790fc35 Tree: http://git-wip-us.apache.org/repos/asf/tez/tree/f790fc35 Diff: http://git-wip-us.apache.org/repos/asf/tez/diff/f790fc35 Branch: refs/heads/branch-0.9 Commit: f790fc35638b58884a9b3c0f5419802f10e00ae0 Parents: 4059a7c Author: Jason Lowe <[email protected]> Authored: Thu Jun 28 16:13:02 2018 -0500 Committer: Jason Lowe <[email protected]> Committed: Thu Jun 28 16:16:44 2018 -0500 ---------------------------------------------------------------------- .../src/main/java/org/apache/tez/common/TezUtils.java | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/tez/blob/f790fc35/tez-api/src/main/java/org/apache/tez/common/TezUtils.java ---------------------------------------------------------------------- diff --git a/tez-api/src/main/java/org/apache/tez/common/TezUtils.java b/tez-api/src/main/java/org/apache/tez/common/TezUtils.java index efd4502..aed9e0f 100644 --- a/tez-api/src/main/java/org/apache/tez/common/TezUtils.java +++ b/tez-api/src/main/java/org/apache/tez/common/TezUtils.java @@ -112,11 +112,12 @@ public class TezUtils { Preconditions.checkNotNull(byteString, "ByteString must be specified"); // SnappyInputStream uncompressIs = new // SnappyInputStream(byteString.newInput()); - InflaterInputStream uncompressIs = new InflaterInputStream(byteString.newInput()); - DAGProtos.ConfigurationProto confProto = DAGProtos.ConfigurationProto.parseFrom(uncompressIs); - Configuration conf = new Configuration(false); - readConfFromPB(confProto, conf); - return conf; + try(InflaterInputStream uncompressIs = new InflaterInputStream(byteString.newInput())) { + DAGProtos.ConfigurationProto confProto = DAGProtos.ConfigurationProto.parseFrom(uncompressIs); + Configuration conf = new Configuration(false); + readConfFromPB(confProto, conf); + return conf; + } } /**
