diff options
author | Natanael Copa <ncopa@alpinelinux.org> | 2013-08-23 15:00:50 +0200 |
---|---|---|
committer | Natanael Copa <ncopa@alpinelinux.org> | 2013-08-23 15:00:50 +0200 |
commit | 7585c8e0b38180bfb016e82063085a00adcb1e68 (patch) | |
tree | 157b0839778c03275bdfafb93ecf1db1c6269850 | |
parent | b10d6769d214a681f4114fea83b18f1cbc53c501 (diff) | |
download | pingu-7585c8e0b38180bfb016e82063085a00adcb1e68.tar.bz2 pingu-7585c8e0b38180bfb016e82063085a00adcb1e68.tar.xz |
pingu_conf: improve error checking for load-balance
-rw-r--r-- | src/pingu_conf.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/pingu_conf.c b/src/pingu_conf.c index 6470809..292d220 100644 --- a/src/pingu_conf.c +++ b/src/pingu_conf.c @@ -173,12 +173,14 @@ static int pingu_conf_read_iface(struct pingu_conf *conf, char *ifname) } else if (strcmp(key, "load-balance") == 0) { int weight = 0; if (value != NULL) { - weight = atoi(value); - if (weight <= 0 || weight > 256) { + int err; + err = parse_int(value, &weight, conf->lineno); + if (!err && (weight <= 0 || weight > 256)) { log_error("Invalid load-balance weight %i on line %i", weight, conf->lineno); - return -1; + r++; } + r += err; } pingu_iface_set_balance(iface, weight); } else if (strcmp(key, "ping") == 0) { |