From: Jihoon Kim Date: Mon, 17 Jul 2017 10:42:30 +0000 (+0900) Subject: Fix deference of NULL return issue X-Git-Tag: accepted/tizen/unified/20170720.062148~7 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=98dc61e0ea82bb8a54884b018374264fe0e72125;p=platform%2Fcore%2Fuifw%2Fisf.git Fix deference of NULL return issue 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 --- diff --git a/ism/modules/panelagent/wayland/wayland_panel_agent_module.cpp b/ism/modules/panelagent/wayland/wayland_panel_agent_module.cpp index 5d54433..d70e447 100644 --- a/ism/modules/panelagent/wayland/wayland_panel_agent_module.cpp +++ b/ism/modules/panelagent/wayland/wayland_panel_agent_module.cpp @@ -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; }