ecore_wl2_display.c: Fix types of variable 99/308399/2 accepted/tizen/unified/20240327.064205
authorHwankyu Jhun <h.jhun@samsung.com>
Mon, 25 Mar 2024 01:18:18 +0000 (10:18 +0900)
committerHwankyu Jhun <h.jhun@samsung.com>
Mon, 25 Mar 2024 03:27:52 +0000 (12:27 +0900)
This patch is for fixing the 'TAINTED_INT_LOOP' problem.

Change-Id: Ibd67ee23737103dc8b294104f5bd13e7b157d377
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
src/lib/ecore_wl2/ecore_wl2_display.c

index 9e67513..afbf2d9 100644 (file)
@@ -1674,8 +1674,8 @@ _ecore_wl2_display_wait(Ecore_Wl2_Display *ewd)
 {
    int fd;
    int wd;
-   int i = 0;
-   int event_size;
+   ssize_t i = 0;
+   ssize_t event_size;
    ssize_t size;
    unsigned char buf[128];
    struct inotify_event *event;
@@ -1700,11 +1700,11 @@ _ecore_wl2_display_wait(Ecore_Wl2_Display *ewd)
 
    ERR("Wait for the server to be ready.[fd: %d, wd: %d", fd, wd);
    size = read(fd, buf, sizeof(buf));
-   while ((i + (int)sizeof(struct inotify_event)) <= (int)size)
+   while ((i + sizeof(struct inotify_event)) <= size)
      {
         event = (struct inotify_event *)&buf[i];
         event_size = sizeof(struct inotify_event) + event->len;
-        if ((event_size + i) > size) break;
+        if ((event_size + i) > size || (event_size + i) <= 0) break;
         i += event_size;
         if (event->mask & IN_CREATE | event->mask & IN_MODIFY) break;
      }