Fix static analysis issue 74/240074/2
authorJunghyun Yeon <jungh.yeon@samsung.com>
Mon, 3 Aug 2020 05:46:17 +0000 (14:46 +0900)
committerJunghyun Yeon <jungh.yeon@samsung.com>
Mon, 3 Aug 2020 05:50:08 +0000 (05:50 +0000)
Add checking routine to each variable not exceed buffer length

Change-Id: I4705d4d524b6414a15a3ee54195d8787767e097e
Signed-off-by: Junghyun Yeon <jungh.yeon@samsung.com>
installer/pkgmgr_installer_signal_agent.c

index 2b5ae4791d3c944dd8c4f5e07d0fb333b16eb035..ca707330f3fce76dc9130c984ec688a78d65dad4 100644 (file)
@@ -225,7 +225,8 @@ static gboolean __handle_signal(gint fd, GIOCondition cond, gpointer user_data)
        memcpy(&type_len, buf, sizeof(size_t));
        memcpy(&data_len, buf + sizeof(size_t), sizeof(gsize));
 
-       if ((type_len + data_len) > BUFMAX) {
+       if (type_len > BUFMAX || data_len > BUFMAX ||
+                       (type_len + data_len) > BUFMAX) {
                LOGE("received size is too large: %zu %zu", type_len, data_len);
                close(clifd);
                return FALSE;