X-Git-Url: https://jfr.im/git/solanum.git/blobdiff_plain/f956cb0f1f94923187804c772e099b9c8b9d76e5..8aadf0ce464a0e18e987a401a694d48d293953e6:/ircd/ircd_lexer.l diff --git a/ircd/ircd_lexer.l b/ircd/ircd_lexer.l index 3d7503d9..46514cbf 100644 --- a/ircd/ircd_lexer.l +++ b/ircd/ircd_lexer.l @@ -58,7 +58,7 @@ char *current_file = conffilebuf; FILE *inc_fbfile_in[MAX_INCLUDE_DEPTH]; -char linebuf[512]; +char yy_linebuf[16384]; #undef YY_INPUT @@ -79,7 +79,7 @@ include \.include{ws}(\<.*\>|\".*\") %% {include} { cinclude(); } "/*" { ccomment(); } -\n.* { strcpy(linebuf, yytext+1); lineno++; yyless(1); } +\n.* { rb_strlcpy(yy_linebuf, yytext+1, sizeof(yy_linebuf)); lineno++; yyless(1); } {ws} ; {comment} { hashcomment(); } @@ -94,7 +94,7 @@ include \.include{ws}(\<.*\>|\".*\") } else { - strcpy(yylval.string, yytext + 1); + rb_strlcpy(yylval.string, yytext + 1, 1024); if(yylval.string[yyleng-2] != '"') ilog(L_MAIN, "Unterminated character string"); else @@ -134,7 +134,7 @@ include \.include{ws}(\<.*\>|\".*\") loadmodule { return LOADMODULE; } {string} { - strcpy(yylval.string, yytext); + rb_strlcpy(yylval.string, yytext, 1024); yylval.string[yyleng] = '\0'; return STRING; }