[Content] Fix for crash in createThumbnail(). 55/91055/1
authorTomasz Marciniak <t.marciniak@samsung.com>
Wed, 5 Oct 2016 11:42:53 +0000 (13:42 +0200)
committerTomasz Marciniak <t.marciniak@samsung.com>
Wed, 5 Oct 2016 11:44:55 +0000 (13:44 +0200)
[Verification] Code compiles.
Creating thumbnail does not cause crash.
Success callback is called and callback id is correctly retrieved.

Change-Id: I1094730ded85f57bb0088f2f088e50f45d675a95
Signed-off-by: Tomasz Marciniak <t.marciniak@samsung.com>
src/content/content_manager.cc

index bda7506..1f2b001 100644 (file)
@@ -665,6 +665,10 @@ void CreateThumbnailCallback(media_content_error_e err, const char* path, void*
   LoggerD("Enter");
 
   unsigned int* callbackId = (unsigned int*) user_data;
+  if (nullptr == callbackId) {
+    LoggerD("Callback id is null");
+    return;
+  }
 
   if (!(ContentManager::getInstance()->getContentInstance())) {
     // There is not instance already
@@ -1656,7 +1660,7 @@ common::PlatformResult ContentManager::createThumbnail(const picojson::value& ar
                               ("Getting media is failed: %d (%s)", ret, get_error_message(ret)));
   }
 
-  ret = media_info_create_thumbnail(media, CreateThumbnailCallback, /* (void*) callbackId */ nullptr);
+  ret = media_info_create_thumbnail(media, CreateThumbnailCallback, (void*)callbackId);
   media_info_destroy(media);
   if(MEDIA_CONTENT_ERROR_NONE != ret) {
     delete callbackId;
@@ -1664,8 +1668,6 @@ common::PlatformResult ContentManager::createThumbnail(const picojson::value& ar
                               ("Creating thumbnail failed: %d (%s)", ret, get_error_message(ret)));
   }
 
-  delete callbackId;
-
   return PlatformResult(ErrorCode::NO_ERROR);
 }