From: Russell Bryant Date: Sun, 28 Dec 2008 15:15:46 +0000 (+0000) Subject: Merged revisions 166773 via svnmerge from X-Git-Tag: 1.6.0.4-testing~2^2~61 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=a80d9378820d4c77170e1e6508fe63d78bfa6160;p=thirdparty%2Fasterisk.git Merged revisions 166773 via svnmerge from https://origsvn.digium.com/svn/asterisk/trunk ................ r166773 | russell | 2008-12-28 09:15:14 -0600 (Sun, 28 Dec 2008) | 12 lines Merged revisions 166772 via svnmerge from 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/branches/1.6.0@166774 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/channels/misdn_config.c b/channels/misdn_config.c index d652508954..1db51f94f3 100644 --- a/channels/misdn_config.c +++ b/channels/misdn_config.c @@ -793,8 +793,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");