summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPierre Lebleu <pme.lebleu@gmail.com>2017-05-04 10:50:56 +0200
committerJo-Philipp Wich <jo@mein.io>2017-05-09 23:54:15 +0200
commit6039c7f4b0052c4da21520cdd604f04a5a67f50d (patch)
tree3a4c8d563950f53a6f4b51f5ef63a2483f3642ff
parentc328d1f6fe982888b5f5852423ee0a41cee3adb1 (diff)
downloadfirewall3-6039c7f4b0052c4da21520cdd604f04a5a67f50d.tar.gz
firewall3: check the return value of fw3_parse_options()
The return value of fw3_parse_options() should be checked. Signed-off-by: Pierre Lebleu <pme.lebleu@gmail.com>
-rw-r--r--defaults.c3
-rw-r--r--forwards.c3
-rw-r--r--includes.c3
-rw-r--r--ipsets.c3
-rw-r--r--zones.c3
5 files changed, 10 insertions, 5 deletions
diff --git a/defaults.c b/defaults.c
index 8afbf9a..85a3750 100644
--- a/defaults.c
+++ b/defaults.c
@@ -107,7 +107,8 @@ fw3_load_defaults(struct fw3_state *state, struct uci_package *p)
continue;
}
- fw3_parse_options(&state->defaults, fw3_flag_opts, s);
+ if(!fw3_parse_options(&state->defaults, fw3_flag_opts, s))
+ warn_elem(e, "has invalid options");
check_policy(e, &defs->policy_input, "input");
check_policy(e, &defs->policy_output, "output");
diff --git a/forwards.c b/forwards.c
index 997c307..9b369f3 100644
--- a/forwards.c
+++ b/forwards.c
@@ -54,7 +54,8 @@ fw3_load_forwards(struct fw3_state *state, struct uci_package *p)
forward->enabled = true;
- fw3_parse_options(forward, fw3_forward_opts, s);
+ if (!fw3_parse_options(forward, fw3_forward_opts, s))
+ warn_elem(e, "has invalid options");
if (!forward->enabled)
{
diff --git a/includes.c b/includes.c
index a9a75cb..a2b37a3 100644
--- a/includes.c
+++ b/includes.c
@@ -54,7 +54,8 @@ fw3_load_includes(struct fw3_state *state, struct uci_package *p)
include->name = e->name;
include->enabled = true;
- fw3_parse_options(include, fw3_include_opts, s);
+ if (!fw3_parse_options(include, fw3_include_opts, s))
+ warn_elem(e, "has invalid options");
if (!include->enabled)
{
diff --git a/ipsets.c b/ipsets.c
index 0325944..7a72fd3 100644
--- a/ipsets.c
+++ b/ipsets.c
@@ -239,7 +239,8 @@ fw3_load_ipsets(struct fw3_state *state, struct uci_package *p)
if (!ipset)
continue;
- fw3_parse_options(ipset, fw3_ipset_opts, s);
+ if (!fw3_parse_options(ipset, fw3_ipset_opts, s))
+ warn_elem(e, "has invalid options");
if (ipset->external)
{
diff --git a/zones.c b/zones.c
index 26f6215..2aa7473 100644
--- a/zones.c
+++ b/zones.c
@@ -171,7 +171,8 @@ fw3_load_zones(struct fw3_state *state, struct uci_package *p)
if (!zone)
continue;
- fw3_parse_options(zone, fw3_zone_opts, s);
+ if (!fw3_parse_options(zone, fw3_zone_opts, s))
+ warn_elem(e, "has invalid options");
if (!zone->enabled)
{