e_comp_wl_data: check correct range of file descriptors 48/82648/2 accepted/tizen/common/20160809.184050 accepted/tizen/ivi/20160809.080022 accepted/tizen/mobile/20160809.075921 accepted/tizen/tv/20160809.075941 accepted/tizen/wearable/20160809.080000 submit/tizen/20160809.062109
authorMinJeong Kim <minjjj.kim@samsung.com>
Fri, 5 Aug 2016 01:06:01 +0000 (10:06 +0900)
committerGwanglim Lee <gl77.lee@samsung.com>
Fri, 5 Aug 2016 04:30:49 +0000 (21:30 -0700)
Change-Id: Ie991dc28cfd3eccc173b1dd88e246301d27e8fd7
Signed-off-by: MinJeong Kim <minjjj.kim@samsung.com>
src/bin/e_comp_wl_data.c

index f8fdfe2bbb74c9e42d2d085460d55d4836a8239a..defcc8c93c9479e8bbe1775c8b919aedf03861d4 100644 (file)
@@ -640,7 +640,7 @@ _e_comp_wl_clipboard_selection_set(struct wl_listener *listener EINA_UNUSED, voi
      }
    else
      {
-        if (!clip_source->fd[1])
+        if (clip_source->fd[1] == -1)
           {
              ERR("clipboard fd is invalid");
              return;
@@ -832,6 +832,7 @@ e_comp_wl_clipboard_source_create(const char *mime_type, uint32_t serial, int *f
    source = E_NEW(E_Comp_Wl_Clipboard_Source, 1);
    if (!source) return NULL;
 
+   source->fd[0] = source->fd[1] = -1;
    source->data_source.resource = NULL;
    source->data_source.target = _e_comp_wl_clipboard_source_target_send;
    source->data_source.send = _e_comp_wl_clipboard_source_send_send;
@@ -850,7 +851,7 @@ e_comp_wl_clipboard_source_create(const char *mime_type, uint32_t serial, int *f
         eina_array_push(source->data_source.mime_types, eina_stringshare_add(mime_type));
      }
 
-   if ((fd[0] > 0) && (fd[1] > 0))
+   if ((fd[0] >= 0) && (fd[1] >= 0))
      {
         source->fd_handler =
            ecore_main_fd_handler_add(fd[0], ECORE_FD_READ,