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;

Reply via email to