Merge "MTP: fix a memory leak" into sc-dev am: a66b67936f am: 4bb5595564

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/15325117

Change-Id: Icc6a0ae321f509b7c8ebc9cb8f21e1cf13b123e7
This commit is contained in:
George Burgess
2021-07-22 18:28:14 +00:00
committed by Automerger Merge Worker

View File

@@ -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;
}