Add typecast to prevent overflow of arithmatic results 96/283596/1 accepted/tizen/7.0/unified/20221103.165436 accepted/tizen/7.0/unified/20221110.060849
authorjiyong.min <jiyong.min@samsung.com>
Tue, 18 Oct 2022 00:42:50 +0000 (09:42 +0900)
committerJiyong Min <jiyong.min@samsung.com>
Mon, 31 Oct 2022 05:21:51 +0000 (05:21 +0000)
Change-Id: I47bfa73ae85891a5e3fca0d8fda1eda91f24fd4e
(cherry picked from commit 36f20128a02e5727e7d65c936da0129f3d08a427)

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

index f797c1cbc85c933f8a13fb71d6e2c968961b257b..0cc7b4440deb36a5883e85a0616ebfc7b969872d 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 0023d9c7b2efd719d47de09d6b8b631f860bd5ec..6b8f12605aa2271982a1e48ee78ca03b9f417036 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