From: Jiyong Min Date: Wed, 23 Aug 2017 04:24:20 +0000 (+0900) Subject: Modify to check parameter and return value X-Git-Tag: submit/tizen/20170824.093048~2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=6f1544cce3123f5ccfb17781fef966d70d68112d;p=platform%2Fcore%2Fmultimedia%2Flibmm-utility.git Modify to check parameter and return value Change-Id: I9c92d4406b2e1006d914463a05d2b54bf9c61e89 Signed-off-by: Jiyong Min --- diff --git a/gif/mm_util_gif.c b/gif/mm_util_gif.c index d5ce592..4d82812 100755 --- a/gif/mm_util_gif.c +++ b/gif/mm_util_gif.c @@ -1011,10 +1011,10 @@ int mm_util_gif_image_set_position(mm_gif_image_h gif_image_h, const int left, c gif_image_s *gif_image = (gif_image_s *)gif_image_h; mm_util_retvm_if(gif_image == NULL, MM_UTIL_ERROR_INVALID_PARAMETER, "Invalid parameter"); - mm_util_retvm_if(left < 0 || top < 0, MM_UTIL_ERROR_INVALID_PARAMETER, "Invalid parameter"); - mm_util_retvm_if(width <= 0 || height <= 0, MM_UTIL_ERROR_INVALID_PARAMETER, "Invalid parameter"); - mm_util_retvm_if(left + width > gif_image->width, MM_UTIL_ERROR_INVALID_PARAMETER, "Invalid parameter"); - mm_util_retvm_if(top + height > gif_image->height, MM_UTIL_ERROR_INVALID_PARAMETER, "Invalid parameter"); + mm_util_retvm_if((left < 0) || (top < 0), MM_UTIL_ERROR_INVALID_PARAMETER, "Invalid parameter"); + mm_util_retvm_if((width <= 0) || (height <= 0), MM_UTIL_ERROR_INVALID_PARAMETER, "Invalid parameter"); + mm_util_retvm_if((gif_image->width > 0) && (left + width > gif_image->width), MM_UTIL_ERROR_INVALID_PARAMETER, "Invalid parameter"); + mm_util_retvm_if((gif_image->height > 0) && (top + height > gif_image->height), MM_UTIL_ERROR_INVALID_PARAMETER, "Invalid parameter"); mm_util_info("%s l = %d, t = %d, w= %d, h = %d", __func__, left, top, width, height); @@ -1044,7 +1044,7 @@ int mm_util_gif_image_set_delay_time(mm_gif_image_h gif_image_h, const int delay gif_image_s *gif_image = (gif_image_s *)gif_image_h; mm_util_retvm_if(gif_image == NULL, MM_UTIL_ERROR_INVALID_PARAMETER, "Invalid parameter"); - mm_util_retvm_if(delay_time == 0, MM_UTIL_ERROR_INVALID_PARAMETER, "Invalid parameter"); + mm_util_retvm_if(delay_time < 0, MM_UTIL_ERROR_INVALID_PARAMETER, "Invalid parameter"); mm_util_info("%s mode = %d", __func__, delay_time); @@ -1184,8 +1184,8 @@ int mm_util_gif_encode_set_resolution(mm_gif_file_h gif_file_h, const int width, gif_file_s *gif_file = (gif_file_s *)gif_file_h; mm_util_retvm_if(gif_file == NULL, MM_UTIL_ERROR_INVALID_PARAMETER, "Invalid parameter"); - mm_util_retvm_if(width == 0, MM_UTIL_ERROR_INVALID_PARAMETER, "Invalid parameter"); - mm_util_retvm_if(height == 0, MM_UTIL_ERROR_INVALID_PARAMETER, "Invalid parameter"); + mm_util_retvm_if(width <= 0, MM_UTIL_ERROR_INVALID_PARAMETER, "Invalid parameter"); + mm_util_retvm_if(height <= 0, MM_UTIL_ERROR_INVALID_PARAMETER, "Invalid parameter"); mm_util_retvm_if(gif_file->is_started, MM_UTIL_ERROR_INVALID_OPERATION, "Encoding has already started"); mm_util_info("%s w = %d, h = %d", __func__, width, height); @@ -1287,10 +1287,15 @@ int mm_util_gif_encode_add_image(mm_gif_file_h gif_file_h, mm_gif_image_h gif_im mm_util_fenter(); mm_util_retvm_if(gif_file == NULL, MM_UTIL_ERROR_INVALID_PARAMETER, "Invalid parameter"); mm_util_retvm_if(gif_image == NULL, MM_UTIL_ERROR_INVALID_PARAMETER, "Invalid parameter"); + mm_util_retvm_if((gif_image->image_desc.Width <= 0) || (gif_image->image_desc.Height <= 0), MM_UTIL_ERROR_INVALID_PARAMETER, "Invalid parameter"); + mm_util_retvm_if((gif_image->image_desc.Left + gif_image->image_desc.Width > gif_file->width), MM_UTIL_ERROR_INVALID_PARAMETER, "Invalid parameter"); + mm_util_retvm_if((gif_image->image_desc.Top + gif_image->image_desc.Height > gif_file->height), MM_UTIL_ERROR_INVALID_PARAMETER, "Invalid parameter"); + mm_util_retvm_if(gif_image->image_data == NULL, MM_UTIL_ERROR_INVALID_PARAMETER, "Invalid parameter"); if (gif_file->is_started == FALSE) { - mm_util_info("first added image, mm_util_gif_encode_start is needed"); - mm_util_gif_encode_start(gif_file_h); + mm_util_warn("first added image, mm_util_gif_encode_start is needed"); + ret = mm_util_gif_encode_start(gif_file_h); + mm_util_retvm_if(ret != MM_UTIL_ERROR_NONE, ret, "mm_util_gif_encode_start failed"); } /* Make local color map */ @@ -1327,7 +1332,8 @@ int mm_util_gif_encode_save(mm_gif_file_h gif_file_h) gif_file_s *gif_file = (gif_file_s *)gif_file_h; mm_util_retvm_if(gif_file == NULL, MM_UTIL_ERROR_INVALID_PARAMETER, "Invalid parameter"); - mm_util_retvm_if(!gif_file->is_started, MM_UTIL_ERROR_INVALID_OPERATION, "Encoding has not started"); + mm_util_retvm_if(gif_file->is_started == FALSE, MM_UTIL_ERROR_INVALID_OPERATION, "Encoding has not started"); + mm_util_retvm_if(gif_file->GifFile->ImageCount <= 0, MM_UTIL_ERROR_INVALID_OPERATION, "No frame has encoded"); mm_util_fenter(); diff --git a/packaging/libmm-utility.spec b/packaging/libmm-utility.spec index 8d8998f..290ada5 100755 --- a/packaging/libmm-utility.spec +++ b/packaging/libmm-utility.spec @@ -1,6 +1,6 @@ Name: libmm-utility Summary: Multimedia Framework Utility Library -Version: 0.37 +Version: 0.38 Release: 0 Group: System/Libraries License: Apache-2.0