On Mon, 25 Jun 2007 00:02:03 +0200 "Jesper Juhl" <jesper.juhl@xxxxxxxxx> wrote:Fair enough. Just ignore the patch then :-)
> > > + if (!file || !e)
> > > + exit(1);
> > > *e = '\0';
> > > cur_filename = memcpy(xmalloc(e-file+1), file, e-file+1);
> > > cur_line = atoi(yytext+2);
> >
> > I don't think the bug which you're fixing can occur:
> >
> > ^#[ \t]+{INT}[ \t]+\"[^\"\n]+\".*\n return FILENAME;
> >
> > has anyone reported crashes in there?
> >
>
> It may indeed not be possible. Found by inspection, not by any actual
> observed crashes.
> But does it really hurt to be defensive here? In case it can somehow
> be caused to fail, with my patch it'll fail a bit nicer :) It's not
> like it's at all speed critical code that will be hurt by that extra
> 'if'...
We can only get NULL pointers here if the regexp is wrong or if there's
a bug in the regexp parser. Getting a coredump at the failure site is
much better behaviour than mysteriously exiting.