On Thu, Jun 09, 2022 at 07:07:12PM +0200, Claudio Jeker wrote:
> Fix a crash because of a NULL pointer dereference in parse.y
ok
>
> Before:
> /etc/bgpd.conf:85: macro 'UNDEFINED' not defined
> Segmentation fault
>
> After:
> /etc/bgpd.conf:85: macro 'UNDEFINED' not defined
> /etc/bgpd.conf:85: syntax error
>
> --
> :wq Claudio
>
> Index: parse.y
> ===================================================================
> RCS file: /cvs/src/usr.sbin/bgpd/parse.y,v
> retrieving revision 1.428
> diff -u -p -r1.428 parse.y
> --- parse.y 2 Jun 2022 11:12:47 -0000 1.428
> +++ parse.y 9 Jun 2022 17:03:08 -0000
> @@ -3248,8 +3248,10 @@ expand_macro(void)
> break;
> }
> val = symget(buf);
> - if (val == NULL)
> + if (val == NULL) {
> yyerror("macro '%s' not defined", buf);
> + return (ERROR);
> + }
> p = val + strlen(val) - 1;
> lungetc(DONE_EXPAND);
> while (p >= val) {
>