diff --git a/grammar.c b/grammar.c index 3595578..26444f8 100644 --- a/grammar.c +++ b/grammar.c @@ -1084,9 +1084,7 @@ void libconfig_yyerror(void *scanner, struct parse_context *ctx, YYUSE (scanner); YYUSE (ctx); YYUSE (scan_ctx); - if (!yymsg) - yymsg = "Deleting"; - YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp); + YY_SYMBOL_PRINT (yymsg != NULL ? yymsg : "Deleting", yytype, yyvaluep, yylocationp); YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN YYUSE (yytype); diff --git a/scanner.c b/scanner.c index 60882db..8b8af33 100644 --- a/scanner.c +++ b/scanner.c @@ -21,6 +21,7 @@ #include #include #include +#include /* end standard C headers. */ @@ -1702,6 +1703,8 @@ static int yy_get_next_buffer (yyscan_t yyscanner) yy_create_buffer( yyin, YY_BUF_SIZE , yyscanner); } + assert(YY_CURRENT_BUFFER != NULL); // Fixes compiler warning -Wnull-dereference on gcc-6 and -O3 + yy_init_buffer( YY_CURRENT_BUFFER, input_file , yyscanner); yy_load_buffer_state( yyscanner ); }