]> git.ipfire.org Git - thirdparty/iptables.git/commitdiff
allow empty strings in argument parser
authorMax Kellermann <max@duempel.org>
Tue, 29 Jan 2008 13:46:01 +0000 (13:46 +0000)
committerPatrick McHardy <kaber@trash.net>
Tue, 29 Jan 2008 13:46:01 +0000 (13:46 +0000)
Max Kellermann <max@duempel.org>

ip6tables-restore.c
iptables-restore.c

index 2d2f8b0423a1aa0332322924a8e2c6a2ffd50ffe..570bd51523240cf23306a9bc691120a668fa7c83 100644 (file)
@@ -366,14 +366,12 @@ int main(int argc, char *argv[])
                        for (curchar = parsestart; *curchar; curchar++) {
                                char param_buffer[1024];
 
-                               if (escaped) {
-                                       param_buffer[param_len++] = *curchar;
-                                       escaped = 0;
-                                       continue;
-                               }
-
                                if (quote_open) {
-                                       if (*curchar == '\\') {
+                                       if (escaped) {
+                                               param_buffer[param_len++] = *curchar;
+                                               escaped = 0;
+                                               continue;
+                                       } else if (*curchar == '\\') {
                                                escaped = 1;
                                                continue;
                                        } else if (*curchar == '"') {
index 2522b0f53c2becde71d1487d7712f29de5b68de5..44263ceefa0079c0ccc443db73f7dd34c6abae33 100644 (file)
@@ -373,14 +373,12 @@ main(int argc, char *argv[])
                        for (curchar = parsestart; *curchar; curchar++) {
                                char param_buffer[1024];
 
-                               if (escaped) {
-                                       param_buffer[param_len++] = *curchar;
-                                       escaped = 0;
-                                       continue;
-                               }
-
                                if (quote_open) {
-                                       if (*curchar == '\\') {
+                                       if (escaped) {
+                                               param_buffer[param_len++] = *curchar;
+                                               escaped = 0;
+                                               continue;
+                                       } else if (*curchar == '\\') {
                                                escaped = 1;
                                                continue;
                                        } else if (*curchar == '"') {