From d4ac0f765128ee886646f5d5aaf7ddcf11adcacf Mon Sep 17 00:00:00 2001 From: Russell Bryant Date: Sun, 28 Dec 2008 15:13:48 +0000 Subject: [PATCH] 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.4@166772 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- channels/misdn_config.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/channels/misdn_config.c b/channels/misdn_config.c index 5125058ea0..0924ad9837 100644 --- a/channels/misdn_config.c +++ b/channels/misdn_config.c @@ -794,8 +794,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");