changeset: 7117:f8df8c43e5c0 user: Kevin McCarthy <ke...@8t8.us> date: Sun Aug 06 10:22:45 2017 -0700 link: http://dev.mutt.org/hg/mutt/rev/f8df8c43e5c0
Handle error if REGCOMP in pager fails when resizing. Thanks to JiaZhouyang for finding this issue and supplying the original patch. diffs (35 lines): diff -r ac2fda8bc9c4 -r f8df8c43e5c0 pager.c --- a/pager.c Fri Aug 04 09:29:06 2017 -0700 +++ b/pager.c Sun Aug 06 10:22:45 2017 -0700 @@ -1630,7 +1630,7 @@ static void pager_menu_redraw (MUTTMENU *pager_menu) { pager_redraw_data_t *rd = pager_menu->redraw_data; - int i, j; + int i, j, err; char buffer[LONG_STRING]; if (!rd) @@ -1697,10 +1697,18 @@ { if ((rd->SearchCompiled = Resize->SearchCompiled)) { - REGCOMP - (&rd->SearchRE, rd->searchbuf, REG_NEWLINE | mutt_which_case (rd->searchbuf)); - rd->SearchFlag = MUTT_SEARCH; - rd->SearchBack = Resize->SearchBack; + if ((err = REGCOMP (&rd->SearchRE, rd->searchbuf, + REG_NEWLINE | mutt_which_case (rd->searchbuf))) != 0) + { + regerror (err, &rd->SearchRE, buffer, sizeof (buffer)); + mutt_error ("%s", buffer); + rd->SearchCompiled = 0; + } + else + { + rd->SearchFlag = MUTT_SEARCH; + rd->SearchBack = Resize->SearchBack; + } } rd->lines = Resize->line; pager_menu->redraw |= REDRAW_FLOW;