summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLauri Hintsala <lauri.hintsala@bluegiga.com>2011-12-14 14:49:58 (GMT)
committer Denys Vlasenko <vda.linux@googlemail.com>2011-12-15 11:33:39 (GMT)
commit454fe29a802f5f32b802df1a54324946d0b87669 (patch)
treeddb2d1f8cf0e268cb37ed41bc3f821ea75414be4
parent1b41b33be34305e75eb8998f408f79193d7241e5 (diff)
downloadbusybox-454fe29a802f5f32b802df1a54324946d0b87669.tar.gz
busybox-454fe29a802f5f32b802df1a54324946d0b87669.tar.bz2
ifupdown: remove interface from state_list if iface_up fails
Fix the issue where interface is set to the configured state even if configuration has failed. Add error check to state setting logic. Signed-off-by: Lauri Hintsala <lauri.hintsala@bluegiga.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-rw-r--r--networking/ifupdown.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/networking/ifupdown.c b/networking/ifupdown.c
index 5946323..9c2cad2 100644
--- a/networking/ifupdown.c
+++ b/networking/ifupdown.c
@@ -1311,7 +1311,7 @@ int ifupdown_main(int argc UNUSED_PARAM, char **argv)
llist_t *state_list = read_iface_state();
llist_t *iface_state = find_iface_state(state_list, iface);
- if (cmds == iface_up) {
+ if (cmds == iface_up && !any_failures) {
char * const newiface = xasprintf("%s=%s", iface, liface);
if (iface_state == NULL) {
llist_add_to_end(&state_list, newiface);