Merged revisions 106552 via svnmerge from

https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r106552 | tilghman | 2008-03-07 00:36:33 -0600 (Fri, 07 Mar 2008) | 6 lines

Safely use the strncat() function.
(closes issue #11958)
 Reported by: norman
 Patches: 
       20080209__bug11958.diff.txt uploaded by Corydon76 (license 14)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@106553 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Tilghman Lesher
2008-03-07 06:54:47 +00:00
parent 5fa773a9f9
commit 8718878490
13 changed files with 28 additions and 26 deletions

View File

@@ -2061,10 +2061,12 @@ static char *cli_prompt(EditLine *el)
if (color_used) {
/* Force colors back to normal at end */
term_color_code(term_code, COLOR_WHITE, COLOR_BLACK, sizeof(term_code));
if (strlen(term_code) > sizeof(prompt) - strlen(prompt))
strncat(prompt + sizeof(prompt) - strlen(term_code) - 1, term_code, strlen(term_code));
else
if (strlen(term_code) > sizeof(prompt) - strlen(prompt) - 1) {
ast_copy_string(prompt + sizeof(prompt) - strlen(term_code) - 1, term_code, strlen(term_code) + 1);
} else {
/* This looks wrong, but we've already checked the length of term_code to ensure it's safe */
strncat(p, term_code, sizeof(term_code));
}
}
} else if (remotehostname)
snprintf(prompt, sizeof(prompt), ASTERISK_PROMPT2, remotehostname);