From: Jiyong Min Date: Wed, 27 Sep 2017 10:45:17 +0000 (+0900) Subject: Fix memory leak for the image_util_frame_h by using image_util_frame_create() X-Git-Tag: accepted/tizen/unified/20170929.081610^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F40%2F152940%2F5;p=platform%2Fcore%2Fapi%2Fimage-util.git Fix memory leak for the image_util_frame_h by using image_util_frame_create() (fix coverity issue) Change-Id: Iec223cb598204c8a0cddd3e6e8186a0143fc5e0d Signed-off-by: Jiyong Min --- diff --git a/decode-test/image_util_decode_encode_testsuite.c b/decode-test/image_util_decode_encode_testsuite.c index 07ed864..c93f6ee 100755 --- a/decode-test/image_util_decode_encode_testsuite.c +++ b/decode-test/image_util_decode_encode_testsuite.c @@ -146,7 +146,7 @@ static gboolean _read_file(char *file_name, void **data, unsigned long long *dat fp = NULL; return FALSE; } else { - if (fread(*data, 1, file_size, fp)) { + if (fread(*data, 1, file_size, fp) == (size_t)file_size) { fprintf(stderr, "#Success# fread\n"); } else { fprintf(stderr, "#Error# fread\n"); @@ -383,9 +383,9 @@ void _print_help(int argc, char *argv[]) fprintf(stderr, "\t[usage]\n"); fprintf(stderr, "\t\t1. decode & encode : %s ", argv[0]); - for (i = 0; i < LAST_DECODE_TEST; i++) { + for (i = 0; i <= LAST_DECODE_TEST; i++) { fprintf(stderr, "%s", TEST_CMD[i]); - if (i != LAST_DECODE_TEST - 1) + if (i != LAST_DECODE_TEST) fprintf(stderr, "/"); } fprintf(stderr, " filepath encode_image_type\n"); diff --git a/packaging/capi-media-image-util.spec b/packaging/capi-media-image-util.spec index 5a58bf2..bda43e0 100755 --- a/packaging/capi-media-image-util.spec +++ b/packaging/capi-media-image-util.spec @@ -1,6 +1,6 @@ Name: capi-media-image-util Summary: A Image Utility library in Tizen Native API -Version: 0.1.28 +Version: 0.1.29 Release: 2 Group: Multimedia/API License: Apache-2.0 diff --git a/src/image_util_internal.c b/src/image_util_internal.c index 48a6698..2bc97e3 100755 --- a/src/image_util_internal.c +++ b/src/image_util_internal.c @@ -195,6 +195,8 @@ void image_util_frame_destroy(image_util_frame_h frame_h) frame_s *frame = (frame_s *)frame_h; mm_util_gif_image_destory(frame->frame_h); + + IMAGE_UTIL_SAFE_FREE(frame); } int image_util_encode_add_frame(image_util_encode_h encode_h, image_util_frame_h frame_h) diff --git a/test/image_util_test.c b/test/image_util_test.c index 2064eb7..5f8d8bd 100755 --- a/test/image_util_test.c +++ b/test/image_util_test.c @@ -255,15 +255,17 @@ create_media_packet() src = malloc(size); if (src == NULL) { g_printf("\tmemory allocation failed\n"); + fclose(fp); return IMAGE_UTIL_ERROR_NO_SUCH_FILE; } - if (fread(src, 1, (int)size, fp)) { + if (fread(src, 1, (int)size, fp) == size) { g_printf("#Success# fread\n"); memcpy(ptr, src, (int)size); g_printf("memcpy\n"); } else { g_printf("#Error# fread\n"); } + fclose(fp); } } } else { @@ -584,8 +586,6 @@ int main(int argc, char **argv) goto Exit; } - bool hardware_acceleration = FALSE; - ret = create_media_packet(); if (ret == MEDIA_PACKET_ERROR_NONE) { g_printf("Success - Create_media_packet\n"); @@ -594,7 +594,7 @@ int main(int argc, char **argv) goto Exit; } - ret = image_util_transform_set_hardware_acceleration(g_handle, hardware_acceleration); + ret = image_util_transform_set_hardware_acceleration(g_handle, FALSE); if (ret != IMAGE_UTIL_ERROR_NONE) { g_printf("[%d]Error image_util_transform_set_hardware_acceleration condition [%d]\n", __LINE__, ret); goto Exit;