Date: Sun, 17 May 2015 03:59:09 +0000 (UTC) From: Mark Johnston <markj@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r283025 - head/cddl/contrib/opensolaris/lib/libdtrace/common Message-ID: <201505170359.t4H3x9uK006154@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: markj Date: Sun May 17 03:59:08 2015 New Revision: 283025 URL: https://svnweb.freebsd.org/changeset/base/283025 Log: As dtrace(1) processes D libraries under /usr/lib/dtrace, the compiler may return an error if one of the depends_on directives in a library is not satisfied. In this case, libdtrace is supposed to ignore the library and carry on. However, the remainder of the library may still be buffered by the lexer, causing libdtrace to erroneously continue processing it on the next call to yyparse(). Fix this by explicitly flushing the input buffer each time the compiler state is reset. MFC after: 3 weeks Modified: head/cddl/contrib/opensolaris/lib/libdtrace/common/dt_lex.l Modified: head/cddl/contrib/opensolaris/lib/libdtrace/common/dt_lex.l ============================================================================== --- head/cddl/contrib/opensolaris/lib/libdtrace/common/dt_lex.l Sun May 17 03:50:42 2015 (r283024) +++ head/cddl/contrib/opensolaris/lib/libdtrace/common/dt_lex.l Sun May 17 03:59:08 2015 (r283025) @@ -743,6 +743,7 @@ yyinit(dt_pcb_t *pcb) #ifdef illumos yysptr = yysbuf; #endif + YY_FLUSH_BUFFER; } /*
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201505170359.t4H3x9uK006154>