summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYousong Zhou <yszhou4tech@gmail.com>2013-07-23 10:28:42 +0200
committerJohn Crispin <blogic@openwrt.org>2013-07-23 12:24:31 +0200
commitb5f942d6392b9721b686ec504134e88e55e61cb0 (patch)
treefdde9a218cc9c3d660318228250c29321f59f5f4
parent600a9c0d2b74b113fe032ff15e77f0bd4790125b (diff)
downloadunitd-b5f942d6392b9721b686ec504134e88e55e61cb0.tar
unitd-b5f942d6392b9721b686ec504134e88e55e61cb0.zip
Parse only init_debug option with non-empty argument.
Matching empty string makes rm_so and rm_eo of struct regmatch_t have the same value, in this case both of them are 11. This causes a call to atoi("\0") whose return value 0 is just the initial value of 'debug'. Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
-rw-r--r--debug.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/debug.c b/debug.c
index 91e874f..fbf1e4f 100644
--- a/debug.c
+++ b/debug.c
@@ -36,7 +36,7 @@ void debug_init(void)
line[r] = '\0';
close(fd);
- regcomp(&pat_cmdline, "init_debug=([0-9]*)", REG_EXTENDED);
+ regcomp(&pat_cmdline, "init_debug=([0-9]+)", REG_EXTENDED);
if (!regexec(&pat_cmdline, line, 2, matches, 0)) {
line[matches[1].rm_eo] = '\0';
debug = atoi(&line[matches[1].rm_so]);