diff options
-rw-r--r-- | networking/ifupdown.c | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/networking/ifupdown.c b/networking/ifupdown.c index 650cc706f..818048284 100644 --- a/networking/ifupdown.c +++ b/networking/ifupdown.c | |||
@@ -230,7 +230,7 @@ static int count_netmask_bits(const char *dotted_quad) | |||
230 | static char *parse(const char *command, struct interface_defn_t *ifd) | 230 | static char *parse(const char *command, struct interface_defn_t *ifd) |
231 | { | 231 | { |
232 | size_t old_pos[MAX_OPT_DEPTH] = { 0 }; | 232 | size_t old_pos[MAX_OPT_DEPTH] = { 0 }; |
233 | int okay[MAX_OPT_DEPTH] = { 1 }; | 233 | smallint okay[MAX_OPT_DEPTH] = { 1 }; |
234 | int opt_depth = 1; | 234 | int opt_depth = 1; |
235 | char *result = NULL; | 235 | char *result = NULL; |
236 | 236 | ||
@@ -241,13 +241,10 @@ static char *parse(const char *command, struct interface_defn_t *ifd) | |||
241 | command++; | 241 | command++; |
242 | break; | 242 | break; |
243 | case '\\': | 243 | case '\\': |
244 | if (command[1]) { | 244 | if (command[1]) |
245 | addstr(&result, command + 1, 1); | ||
246 | command += 2; | ||
247 | } else { | ||
248 | addstr(&result, command, 1); | ||
249 | command++; | 245 | command++; |
250 | } | 246 | addstr(&result, command, 1); |
247 | command++; | ||
251 | break; | 248 | break; |
252 | case '[': | 249 | case '[': |
253 | if (command[1] == '[' && opt_depth < MAX_OPT_DEPTH) { | 250 | if (command[1] == '[' && opt_depth < MAX_OPT_DEPTH) { |