From: Thomas Roessler <roessler@does-not-exist.org> Date: Mon, 29 Oct 2001 23:21:48 +0000 (+0000) Subject: Fix two places which _may_ look like buffer overflows, but aren't. X-Git-Tag: mutt-1-3-23-1-rel~5 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=129e27176078d8ed37ba55f56078b51f37507a5e;p=mutt Fix two places which _may_ look like buffer overflows, but aren't. --- diff --git a/pager.c b/pager.c index aee946c3..62869f67 100644 --- a/pager.c +++ b/pager.c @@ -1410,6 +1410,7 @@ mutt_pager (const char *banner, const char *fname, int flags, pager_t *extra) static char searchbuf[STRING]; char buffer[LONG_STRING]; char helpstr[SHORT_STRING*2]; + char tmphelp[SHORT_STRING*2]; int maxLine, lastLine = 0; struct line_t *lineInfo; struct q_class_t *QuoteList = NULL; @@ -1475,15 +1476,15 @@ mutt_pager (const char *banner, const char *fname, int flags, pager_t *extra) mutt_compile_help (helpstr, sizeof (helpstr), MENU_PAGER, PagerHelp); if (IsHeader (extra)) { + strfcpy (tmphelp, helpstr, sizeof (tmphelp)); mutt_compile_help (buffer, sizeof (buffer), MENU_PAGER, PagerHelpExtra); - strcat (helpstr, " "); /* __STRCAT_CHECKED__ */ /* we don't seem to have any user-supplied data here */ - strcat (helpstr, buffer); /* __STRCAT_CHECKED__ */ + snprintf (helpstr, sizeof (helpstr), "%s %s", tmphelp, buffer); } if (!InHelp) { + strfcpy (tmphelp, helpstr, sizeof (tmphelp)); mutt_make_help (buffer, sizeof (buffer), _("Help"), MENU_PAGER, OP_HELP); - strcat (helpstr, " "); /* __STRCAT_CHECKED__ */ /* we don't seem to have any user-supplied data here */ - strcat (helpstr, buffer); /* __STRCAT_CHECKED__ */ + snprintf (helpstr, sizeof (helpstr), "%s %s", tmphelp, buffer); } while (ch != -1)