Ian Rogers created HADOOP-11526:
-----------------------------------
Summary: Memory leak in Bzip2Decompressor
Key: HADOOP-11526
URL: https://issues.apache.org/jira/browse/HADOOP-11526
Project: Hadoop Common
Issue Type: Bug
Components: io
Reporter: Ian Rogers
The use of JNI's GetStringUTFChars should be paired with ReleaseStringUTFChars
or else the utf-8 char* created by Java's JNI implementation is leaked. It
isn't in Bzip2Decompressor.c:
https://apache.googlesource.com/hadoop-common/+/refs/heads/trunk/hadoop-common-project/hadoop-common/src/main/native/src/org/apache/hadoop/io/compress/bzip2/Bzip2Decompressor.c#45
A less error-prone way of handling JNI resources like local references and UTF
strings is to use a smart pointer like the Apache licensed code in Android's
ScopedLocalRef and ScopedUtfChars:
https://android.googlesource.com/platform/libnativehelper/+/jb-mr1.1-dev-plus-aosp/include/nativehelper/ScopedLocalRef.h
https://android.googlesource.com/platform/libnativehelper/+/jb-mr1.1-dev-plus-aosp/include/nativehelper/ScopedUtfChars.h
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)