MTP: fix a memory leak
We unconditionally leak every instance that we `new` of this. Move it to the stack to fix this, since it doesn't need to be on the heap. Bug: 188752500 Test: TreeHugger Change-Id: I24ed3bb29c5a6912398a9e00e7748fd406cf6a62
This commit is contained in:
committed by
George Burgess
parent
e8ad8b7ff4
commit
e485264ff5
@@ -416,20 +416,14 @@ android_mtp_MtpDevice_set_device_property_init_version(JNIEnv *env, jobject thiz
|
||||
return -1;
|
||||
}
|
||||
|
||||
MtpProperty* property = new MtpProperty(MTP_DEVICE_PROPERTY_SESSION_INITIATOR_VERSION_INFO,
|
||||
MTP_TYPE_STR, true);
|
||||
if (!property) {
|
||||
env->ThrowNew(clazz_io_exception, "Failed to obtain property.");
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (property->getDataType() != MTP_TYPE_STR) {
|
||||
MtpProperty property(MTP_DEVICE_PROPERTY_SESSION_INITIATOR_VERSION_INFO, MTP_TYPE_STR, true);
|
||||
if (property.getDataType() != MTP_TYPE_STR) {
|
||||
env->ThrowNew(clazz_io_exception, "Unexpected property data type.");
|
||||
return -1;
|
||||
}
|
||||
|
||||
property->setCurrentValue(propertyStr);
|
||||
if (!device->setDevicePropValueStr(property)) {
|
||||
property.setCurrentValue(propertyStr);
|
||||
if (!device->setDevicePropValueStr(&property)) {
|
||||
env->ThrowNew(clazz_io_exception, "Failed to obtain property value.");
|
||||
return -1;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user