summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ip6tables-restore.c12
-rw-r--r--iptables-restore.c12
2 files changed, 10 insertions, 14 deletions
diff --git a/ip6tables-restore.c b/ip6tables-restore.c
index 2d2f8b0..570bd51 100644
--- a/ip6tables-restore.c
+++ b/ip6tables-restore.c
@@ -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 == '"') {
diff --git a/iptables-restore.c b/iptables-restore.c
index 2522b0f..44263ce 100644
--- a/iptables-restore.c
+++ b/iptables-restore.c
@@ -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 == '"') {