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 2b5ae47..ca70733 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;