Fix memory-leak warnings from the static analyzer
Warnings: frameworks/base/core/jni/android_view_InputChannel.cpp:145:5: warning: Potential memory leak jobject serverChannelObj = android_view_InputChannel_createInputChannel(env, ^~~~~~~~~~~~~~~~~~~~~~~~ frameworks/base/core/jni/android_view_InputChannel.cpp:151:5: warning: Potential memory leak jobject clientChannelObj = android_view_InputChannel_createInputChannel(env, ^~~~~~~~~~~~~~~~~~~~~~~~ The warnings were complaining about that we might leak nativeInputChannel, in android_view_InputChannel_createInputChannel, since we're allocating it as an arg and not always putting it somewhere. Bug: None Test: Builds without warnings Change-Id: I62163adee5d420ad78c8d4c74aafefc8a58f765b
This commit is contained in:
@@ -111,11 +111,12 @@ void android_view_InputChannel_setDisposeCallback(JNIEnv* env, jobject inputChan
|
||||
}
|
||||
|
||||
static jobject android_view_InputChannel_createInputChannel(JNIEnv* env,
|
||||
NativeInputChannel* nativeInputChannel) {
|
||||
std::unique_ptr<NativeInputChannel> nativeInputChannel) {
|
||||
jobject inputChannelObj = env->NewObject(gInputChannelClassInfo.clazz,
|
||||
gInputChannelClassInfo.ctor);
|
||||
if (inputChannelObj) {
|
||||
android_view_InputChannel_setNativeInputChannel(env, inputChannelObj, nativeInputChannel);
|
||||
android_view_InputChannel_setNativeInputChannel(env, inputChannelObj,
|
||||
nativeInputChannel.release());
|
||||
}
|
||||
return inputChannelObj;
|
||||
}
|
||||
@@ -143,13 +144,13 @@ static jobjectArray android_view_InputChannel_nativeOpenInputChannelPair(JNIEnv*
|
||||
}
|
||||
|
||||
jobject serverChannelObj = android_view_InputChannel_createInputChannel(env,
|
||||
new NativeInputChannel(serverChannel));
|
||||
std::make_unique<NativeInputChannel>(serverChannel));
|
||||
if (env->ExceptionCheck()) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
jobject clientChannelObj = android_view_InputChannel_createInputChannel(env,
|
||||
new NativeInputChannel(clientChannel));
|
||||
std::make_unique<NativeInputChannel>(clientChannel));
|
||||
if (env->ExceptionCheck()) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user