aboutsummaryrefslogtreecommitdiff
path: root/usr.sbin
diff options
context:
space:
mode:
authorKevin Lo <kevlo@FreeBSD.org>2007-12-03 10:45:44 +0000
committerKevin Lo <kevlo@FreeBSD.org>2007-12-03 10:45:44 +0000
commite8f7de4bed29ada032b34d1352a0cc6f96b7fc5c (patch)
treee20b0f790cd464ffdc4fd30680448099bf970dfc /usr.sbin
parent3ab065b6e3b93def1a0d895c8ad0329c717a7a02 (diff)
downloadsrc-e8f7de4bed29ada032b34d1352a0cc6f96b7fc5c.tar.gz
src-e8f7de4bed29ada032b34d1352a0cc6f96b7fc5c.zip
zic(8) should exit the loop when the end of the string is reached due
to the call to error(). The problem found by doing fuzz testing. MFC after: 3 days
Notes
Notes: svn path=/head/; revision=174210
Diffstat (limited to 'usr.sbin')
-rw-r--r--usr.sbin/zic/zic.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/usr.sbin/zic/zic.c b/usr.sbin/zic/zic.c
index 4e235b00bb42..10d79a898a2c 100644
--- a/usr.sbin/zic/zic.c
+++ b/usr.sbin/zic/zic.c
@@ -1990,7 +1990,10 @@ register char * cp;
else while ((*dp = *cp++) != '"')
if (*dp != '\0')
++dp;
- else error(_("odd number of quotation marks"));
+ else {
+ error(_("odd number of quotation marks"));
+ exit(EXIT_FAILURE);
+ }
} while (*cp != '\0' && *cp != '#' &&
(!isascii(*cp) || !isspace((unsigned char) *cp)));
if (isascii(*cp) && isspace((unsigned char) *cp))