summaryrefslogtreecommitdiffstats
path: root/media/jni/android_mtp_MtpServer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'media/jni/android_mtp_MtpServer.cpp')
-rw-r--r--media/jni/android_mtp_MtpServer.cpp23
1 files changed, 13 insertions, 10 deletions
diff --git a/media/jni/android_mtp_MtpServer.cpp b/media/jni/android_mtp_MtpServer.cpp
index 4f6bb15..4d84cb7 100644
--- a/media/jni/android_mtp_MtpServer.cpp
+++ b/media/jni/android_mtp_MtpServer.cpp
@@ -98,7 +98,7 @@ public:
void removeStorage(MtpStorageID id) {
MtpStorage* storage = mServer->getStorage(id);
if (storage) {
- for (int i = 0; i < mStorageList.size(); i++) {
+ for (size_t i = 0; i < mStorageList.size(); i++) {
if (mStorageList[i] == storage) {
mStorageList.removeAt(i);
break;
@@ -123,7 +123,7 @@ public:
(mUsePtp ? MTP_INTERFACE_MODE_PTP : MTP_INTERFACE_MODE_MTP));
mServer = new MtpServer(mFd, mDatabase, AID_MEDIA_RW, 0664, 0775);
- for (int i = 0; i < mStorageList.size(); i++) {
+ for (size_t i = 0; i < mStorageList.size(); i++) {
mServer->addStorage(mStorageList[i]);
}
} else {
@@ -249,14 +249,17 @@ android_mtp_MtpServer_add_storage(JNIEnv *env, jobject thiz, jobject jstorage)
jboolean removable = env->GetBooleanField(jstorage, field_MtpStorage_removable);
const char *pathStr = env->GetStringUTFChars(path, NULL);
- const char *descriptionStr = env->GetStringUTFChars(description, NULL);
-
- MtpStorage* storage = new MtpStorage(storageID, pathStr, descriptionStr,
- reserveSpace, removable);
- thread->addStorage(storage);
-
- env->ReleaseStringUTFChars(path, pathStr);
- env->ReleaseStringUTFChars(description, descriptionStr);
+ if (pathStr != NULL) {
+ const char *descriptionStr = env->GetStringUTFChars(description, NULL);
+ if (descriptionStr != NULL) {
+ MtpStorage* storage = new MtpStorage(storageID, pathStr, descriptionStr, reserveSpace, removable);
+ thread->addStorage(storage);
+ env->ReleaseStringUTFChars(path, pathStr);
+ env->ReleaseStringUTFChars(description, descriptionStr);
+ } else {
+ env->ReleaseStringUTFChars(path, pathStr);
+ }
+ }
} else {
LOGE("MtpThread is null in add_storage");
}