[git commit] ifupdown: remove interface from state_list if iface_up fails

Denys Vlasenko vda.linux at googlemail.com
Thu Dec 15 11:33:39 UTC 2011


commit: http://git.busybox.net/busybox/commit/?id=454fe29a802f5f32b802df1a54324946d0b87669
branch: http://git.busybox.net/busybox/commit/?id=refs/heads/master

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 at bluegiga.com>
Signed-off-by: Denys Vlasenko <vda.linux at googlemail.com>
---
 networking/ifupdown.c |    2 +-
 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);


More information about the busybox-cvs mailing list