Fix deference of NULL return issue 23/139123/2
authorJihoon Kim <jihoon48.kim@samsung.com>
Mon, 17 Jul 2017 10:42:30 +0000 (19:42 +0900)
committerJi-hoon Lee <dalton.lee@samsung.com>
Mon, 17 Jul 2017 11:01:34 +0000 (11:01 +0000)
Pointer 'new_text' returned from function 'malloc' at wayland_panel_agent_module.cpp:1103 may be null,
and it is dereferenced at wayland_panel_agent_module.cpp:1109.

Change-Id: Idcd50ab2d93a43f5664b6736dc8e8643f1705a58
Signed-off-by: Jihoon Kim <jihoon48.kim@samsung.com>
ism/modules/panelagent/wayland/wayland_panel_agent_module.cpp

index 5d54433..d70e447 100644 (file)
@@ -1101,12 +1101,14 @@ insert_text (const char *text, uint32_t offset, const char *insert)
 {
     uint32_t tlen = strlen (text), ilen = strlen (insert);
     char *new_text = (char*)malloc (tlen + ilen + 1);
-    if ((unsigned int) tlen < offset)
-        offset = tlen;
-    memcpy (new_text, text, offset);
-    memcpy (new_text + offset, insert, ilen);
-    memcpy (new_text + offset + ilen, text + offset, tlen - offset);
-    new_text[tlen + ilen] = '\0';
+    if (new_text) {
+        if ((unsigned int) tlen < offset)
+            offset = tlen;
+        memcpy (new_text, text, offset);
+        memcpy (new_text + offset, insert, ilen);
+        memcpy (new_text + offset + ilen, text + offset, tlen - offset);
+        new_text[tlen + ilen] = '\0';
+    }
 
     return new_text;
 }