On Fri 2017.04.21 at 07:34 -0400, Okan Demirmen wrote:
> On Mon 2017.04.17 at 17:21 +0200, Rickard Gustafsson wrote:
> > If using exec in cwm to launch a program outside of $PATH by giving the
> > path to the program cwm will die if you happen to press up or down.
> > 
> > Example:
> > M-?
> > /opt (and press down)
> > Boom crash because cwm tries to write to a null pointer.
> > 
> > I have solved this for my self by not letting cwm work on the queues if the
> > searchstr starts with '/'.
> 
> Hi - Thank you for the report. In fact, I knew about something like this for a
> while but didn't know how to reproduce it, until now. In any case, your idea
> works as a quick fix, but the menu'ing code needs some help to solve it
> for real.
> 
> Thanks!

Hi - I've committed a fix (a partial revert) for this in r1.62 of search.c -
turns out it was a bad conversion to menuq_add() back in 2014.

Thanks for the report!
Okan

> > --- menu_orig.c     2017-04-17 17:14:32.165495552 +0200
> > +++ menu.c  2017-04-17 17:14:02.548495202 +0200
> > @@ -236,6 +236,9 @@
> >             }
> >             break;
> >     case CTL_UP:
> > +           if (mc->searchstr[0] == '/')
> > +                   return(NULL);
> > +
> >             mi = TAILQ_LAST(resultq, menu_q);
> >             if (mi == NULL)
> >                     break;
> > @@ -244,6 +247,9 @@
> >             TAILQ_INSERT_HEAD(resultq, mi, resultentry);
> >             break;
> >     case CTL_DOWN:
> > +           if (mc->searchstr[0] == '/')
> > +                   return(NULL);
> > +
> >             mi = TAILQ_FIRST(resultq);
> >             if (mi == NULL)
> >                     break;
> 

Reply via email to