Add typecast to prevent overflow of arithmatic results 71/283071/3 accepted/tizen/8.0/unified/20231005.093448 accepted/tizen/unified/20221103.165754 tizen_8.0_m2_release
authorjiyong.min <jiyong.min@samsung.com>
Tue, 18 Oct 2022 00:42:50 +0000 (09:42 +0900)
committerjiyong.min <jiyong.min@samsung.com>
Wed, 19 Oct 2022 05:28:18 +0000 (14:28 +0900)
Change-Id: I47bfa73ae85891a5e3fca0d8fda1eda91f24fd4e

gstcs/mm_util_gstcs.c
packaging/libmm-imgp-gstcs.spec

index f797c1c..0cc7b44 100644 (file)
@@ -328,39 +328,40 @@ static void _mm_get_round_up_width_height(mm_util_color_format_e color_format, u
 static size_t _mm_setup_image_size(mm_util_color_format_e color_format, unsigned int width, unsigned int height)
 {
        size_t size = 0;
+       size_t _width = (size_t)width;
 
        gstcs_debug("color_format [%d] width [%u] height [%u]", color_format, width, height);
 
        switch (color_format) {
        case MM_UTIL_COLOR_YUV420:
-               size = (MM_UTIL_ROUND_UP_4(width) * MM_UTIL_ROUND_UP_2(height) + MM_UTIL_ROUND_UP_8(width) * MM_UTIL_ROUND_UP_2(height) / 2); /* width * height *1; */
+               size = (MM_UTIL_ROUND_UP_4(_width) * MM_UTIL_ROUND_UP_2(height) + MM_UTIL_ROUND_UP_8(_width) * MM_UTIL_ROUND_UP_2(height) / 2); /* width * height *1; */
                break;
        case MM_UTIL_COLOR_YUV422:
-               size = (MM_UTIL_ROUND_UP_4(width) * height + MM_UTIL_ROUND_UP_8(width) * height); /*width * height *2; */
+               size = (MM_UTIL_ROUND_UP_4(_width) * height + MM_UTIL_ROUND_UP_8(_width) * height); /*width * height *2; */
                break;
        case MM_UTIL_COLOR_I420:
-               size = (MM_UTIL_ROUND_UP_4(width) * MM_UTIL_ROUND_UP_2(height) + MM_UTIL_ROUND_UP_8(width) * MM_UTIL_ROUND_UP_2(height) /2); /*width * height *1.5; */
+               size = (MM_UTIL_ROUND_UP_4(_width) * MM_UTIL_ROUND_UP_2(height) + MM_UTIL_ROUND_UP_8(_width) * MM_UTIL_ROUND_UP_2(height) /2); /*width * height *1.5; */
                break;
        case MM_UTIL_COLOR_NV12:
-               size = (MM_UTIL_ROUND_UP_4(width) * MM_UTIL_ROUND_UP_2(height) * 1.5); /* width * height *1.5; */
+               size = (MM_UTIL_ROUND_UP_4(_width) * MM_UTIL_ROUND_UP_2(height) * 1.5); /* width * height *1.5; */
                break;
        case MM_UTIL_COLOR_UYVY:
-               size = (MM_UTIL_ROUND_UP_2(width) * 2 * height); /* width * height *2; */
+               size = (MM_UTIL_ROUND_UP_2(_width) * 2 * height); /* width * height *2; */
                break;
        case MM_UTIL_COLOR_YUYV:
-               size = (MM_UTIL_ROUND_UP_2(width) * 2 * height); /* width * height *2; */
+               size = (MM_UTIL_ROUND_UP_2(_width) * 2 * height); /* width * height *2; */
                break;
        case MM_UTIL_COLOR_RGB16:
-               size = (MM_UTIL_ROUND_UP_4(width) * 2 * height); /* width * height *2; */
+               size = (MM_UTIL_ROUND_UP_4(_width) * 2 * height); /* width * height *2; */
                break;
        case MM_UTIL_COLOR_RGB24:
-               size = (MM_UTIL_ROUND_UP_4(width) * 3 * height); /* width * height *3; */
+               size = (MM_UTIL_ROUND_UP_4(_width) * 3 * height); /* width * height *3; */
                break;
        case MM_UTIL_COLOR_ARGB:
        case MM_UTIL_COLOR_BGRA:
        case MM_UTIL_COLOR_RGBA:
        case MM_UTIL_COLOR_BGRX:
-               size = width * height *4;
+               size = _width * height * 4;
                break;
        default:
                gstcs_error("Not supported format");
index 0023d9c..6b8f126 100644 (file)
@@ -1,6 +1,6 @@
 Name:       libmm-imgp-gstcs
 Summary:    Multimedia Framework Utility Library
-Version:    0.25
+Version:    0.26
 Release:    16
 Group:      System/Libraries
 License:    Apache-2.0