changeset: 7117:f8df8c43e5c0
user: Kevin McCarthy <[email protected]>
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;