svn commit: r267833 - head/usr.sbin/ctld
Josh Paetzel
jpaetzel at FreeBSD.org
Tue Jun 24 19:12:56 UTC 2014
Author: jpaetzel
Date: Tue Jun 24 19:12:55 2014
New Revision: 267833
URL: http://svnweb.freebsd.org/changeset/base/267833
Log:
Fix issues in config parser relating to lun serial numbers.
Without this fix some serial numbers needed to be quoted
to avoid the config parser bailing out.
Submitted by: delphij
Sponsored by: iXsystems
Modified:
head/usr.sbin/ctld/parse.y
head/usr.sbin/ctld/token.l
Modified: head/usr.sbin/ctld/parse.y
==============================================================================
--- head/usr.sbin/ctld/parse.y Tue Jun 24 19:05:47 2014 (r267832)
+++ head/usr.sbin/ctld/parse.y Tue Jun 24 19:12:55 2014 (r267833)
@@ -659,6 +659,19 @@ lun_serial: SERIAL STR
}
lun_set_serial(lun, $2);
free($2);
+ } | SERIAL NUM
+ {
+ char *str = NULL;
+
+ if (lun->l_serial != NULL) {
+ log_warnx("serial for lun %d, target \"%s\" "
+ "specified more than once",
+ lun->l_lun, target->t_name);
+ return (1);
+ }
+ asprintf(&str, "%ju", $2);
+ lun_set_serial(lun, str);
+ free(str);
}
;
Modified: head/usr.sbin/ctld/token.l
==============================================================================
--- head/usr.sbin/ctld/token.l Tue Jun 24 19:05:47 2014 (r267832)
+++ head/usr.sbin/ctld/token.l Tue Jun 24 19:12:55 2014 (r267833)
@@ -74,8 +74,9 @@ target { return TARGET; }
timeout { return TIMEOUT; }
[0-9]+[kKmMgGtTpPeE]? { if (expand_number(yytext, &yylval.num) == 0)
return NUM;
- else
- return STR;
+ else {
+ yylval.str = strdup(yytext); return STR;
+ }
}
\"[^"]+\" { yylval.str = strndup(yytext + 1,
strlen(yytext) - 2); return STR; }
More information about the svn-src-head
mailing list