diff options
author | bde <bde@FreeBSD.org> | 1995-02-16 11:52:11 +0000 |
---|---|---|
committer | bde <bde@FreeBSD.org> | 1995-02-16 11:52:11 +0000 |
commit | 38bd7314f4bc482f60acd7a8b1866ad870c9ebb4 (patch) | |
tree | 3257b0b9792b6bf0e89e4249063c34f7ba6eed05 /usr.sbin | |
parent | 5ab11f181a31c5d62d479f554e13080ed64ebc57 (diff) | |
download | FreeBSD-src-38bd7314f4bc482f60acd7a8b1866ad870c9ebb4.zip FreeBSD-src-38bd7314f4bc482f60acd7a8b1866ad870c9ebb4.tar.gz |
Always return null-terminated identifiers from yylex().
Diffstat (limited to 'usr.sbin')
-rw-r--r-- | usr.sbin/config/lang.l | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/usr.sbin/config/lang.l b/usr.sbin/config/lang.l index be6a24c..d4052f3 100644 --- a/usr.sbin/config/lang.l +++ b/usr.sbin/config/lang.l @@ -35,6 +35,7 @@ */ #include <ctype.h> +#include <string.h> #include "y.tab.h" #include "config.h" @@ -117,7 +118,7 @@ WORD [A-Za-z_][-A-Za-z_]* if ((i = kw_lookup(yytext)) == -1) { - yylval.str = yytext; + yylval.str = strdup(yytext); tprintf("id(%s) ", yytext); return ID; } @@ -126,7 +127,7 @@ WORD [A-Za-z_][-A-Za-z_]* } \"[^"]+\" { yytext[strlen(yytext)-1] = '\0'; - yylval.str = yytext + 1; + yylval.str = strdup(yytext + 1); return ID; } 0[0-7]* { |