Fix memory leak 67/231067/2 accepted/tizen/unified/20200424.141608 submit/tizen/20200422.053736 submit/tizen/20200423.093243
authorhj kim <backto.kim@samsung.com>
Fri, 17 Apr 2020 05:33:59 +0000 (14:33 +0900)
committerhj kim <backto.kim@samsung.com>
Fri, 17 Apr 2020 05:35:10 +0000 (14:35 +0900)
when release resources by using mm_image_destroy_image(), data is not released when size is TEMP_DATA_SIZE

Change-Id: I0257257849a10a7a1dc78e1ddb042adb16575e84

common/mm_util_image.c

index 6e8f296..c3b88f5 100755 (executable)
@@ -104,14 +104,10 @@ int mm_image_clone_image(mm_util_image_h src, mm_util_image_h *dst)
        _dst->color = _src->color;
        _dst->size = _src->size;
 
-       _dst->data = calloc(1, _dst->size);
-       if (!_dst->data) {
-               mm_util_error("Memory allocation failed");
-               mm_image_destroy_image(_dst);
-               return MM_UTIL_ERROR_OUT_OF_MEMORY;
-       }
-
-       memcpy(_dst->data, _src->data, _dst->size);
+       if (_src->size == TEMP_DATA_SIZE)
+               _dst->data = _src->data;
+       else
+               _dst->data = g_memdup(_src->data, _dst->size);
 
        *dst = (mm_util_image_h)_dst;