Merged revisions 166772 via svnmerge from
authorRussell Bryant <russell@russellbryant.com>
Sun, 28 Dec 2008 15:15:14 +0000 (15:15 +0000)
committerRussell Bryant <russell@russellbryant.com>
Sun, 28 Dec 2008 15:15:14 +0000 (15:15 +0000)
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r166772 | russell | 2008-12-28 09:13:48 -0600 (Sun, 28 Dec 2008) | 4 lines

Use strncat() instead of an sprintf() in which source and target buffers overlap

http://lists.digium.com/pipermail/asterisk-dev/2008-December/035919.html

........

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@166773 65c4cc65-6c06-0410-ace0-fbb531ad65f3

channels/misdn_config.c

index 29723e1..0a71092 100644 (file)
@@ -790,8 +790,9 @@ void misdn_cfg_get_config_string (int port, enum misdn_cfg_elements elem, char*
                        else
                                iter = port_cfg[0][place].ml;
                        if (iter) {
-                               for (; iter; iter = iter->next)
-                                       sprintf(tempbuf, "%s%s, ", tempbuf, iter->msn);
+                               for (; iter; iter = iter->next) {
+                                       strncat(tempbuf, iter->msn, sizeof(tempbuf) - strlen(tempbuf) - 1);
+                               }
                                tempbuf[strlen(tempbuf)-2] = 0;
                        }
                        snprintf(buf, bufsize, " -> msns: %s", *tempbuf ? tempbuf : "none");