* commit '750e78bb7626e2e0d5c8feed4a6e4fbe7fe9b5da': MtpDatabase JNI: Fixed a memory-leak in getObjectPropertyValue().
This commit is contained in:
@ -431,16 +431,14 @@ MtpResponseCode MyMtpDatabase::getObjectPropertyValue(MtpObjectHandle handle,
|
|||||||
case MTP_TYPE_STR:
|
case MTP_TYPE_STR:
|
||||||
{
|
{
|
||||||
jstring stringValue = (jstring)env->GetObjectArrayElement(stringValuesArray, 0);
|
jstring stringValue = (jstring)env->GetObjectArrayElement(stringValuesArray, 0);
|
||||||
|
const char* str = (stringValue ? env->GetStringUTFChars(stringValue, NULL) : NULL);
|
||||||
if (stringValue) {
|
if (stringValue) {
|
||||||
const char* str = env->GetStringUTFChars(stringValue, NULL);
|
|
||||||
if (str == NULL) {
|
|
||||||
return MTP_RESPONSE_GENERAL_ERROR;
|
|
||||||
}
|
|
||||||
packet.putString(str);
|
packet.putString(str);
|
||||||
env->ReleaseStringUTFChars(stringValue, str);
|
env->ReleaseStringUTFChars(stringValue, str);
|
||||||
} else {
|
} else {
|
||||||
packet.putEmptyString();
|
packet.putEmptyString();
|
||||||
}
|
}
|
||||||
|
env->DeleteLocalRef(stringValue);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
|
Reference in New Issue
Block a user