elm_cnp: fix for preventing bad file descriptor 05/126405/1
authorTaehyub Kim <taehyub.kim@samsung.com>
Fri, 21 Apr 2017 08:26:33 +0000 (17:26 +0900)
committerTaehyub Kim <taehyub.kim@samsung.com>
Fri, 21 Apr 2017 08:26:33 +0000 (17:26 +0900)
Change-Id: Ieeaa87a96b22a0f753ceec12a51387e1825ef230

src/lib/elm_cnp.c

index 9f70d9a..74e2f0c 100644 (file)
@@ -2600,14 +2600,22 @@ _wl_text_converter(char *target, Wl_Cnp_Selection *sel, void *data, int size, vo
      formats = atom->formats;
    if (formats == ELM_SEL_FORMAT_NONE)
      {
-        if (data_ret)
+        if (data)
           {
-             *data_ret = malloc(size * sizeof(char) + 1);
-             if (!*data_ret) return EINA_FALSE;
-             memcpy(*data_ret, data, size);
-             ((char**)(data_ret))[0][size] = 0;
-             if (size_ret) *size_ret = size;
-             return EINA_TRUE;
+             if (data_ret)
+               {
+                  *data_ret = malloc(size * sizeof(char) + 1);
+                  if (!*data_ret) return EINA_FALSE;
+                  memcpy(*data_ret, data, size);
+                  ((char**)(data_ret))[0][size] = 0;
+                  if (size_ret) *size_ret = size;
+                  return EINA_TRUE;
+               }
+          }
+        else
+          {
+             if (data_ret) *data_ret = NULL;
+             if (size_ret) *size_ret = 0;
           }
      }
    else if ((formats & ELM_SEL_FORMAT_MARKUP) ||