diff options
author | Jozsef Kadlecsik <kadlec@blackhole.kfki.hu> | 2011-01-18 17:17:46 +0100 |
---|---|---|
committer | Jozsef Kadlecsik <kadlec@blackhole.kfki.hu> | 2011-01-18 17:17:46 +0100 |
commit | cac607bd8850e00356e4d97b05e7c8adfb3fa640 (patch) | |
tree | befa146e2c99f2557ee385865070c5853eb887b7 /src | |
parent | 1d4c46ed1088f40315695bc2de12bddc35b536a1 (diff) |
Show correct line numbers in restore output for parser errors
Parser errors are reported by a wrong lineno at restore, bug reported
by Holger Eitzenberger:
create foo6 hash:ip hashsize 64 family inet6
add foo6 20a1:1234:5678::/64
add foo6 20a1:1234:5679::/64
you get:
ipset v5.2: Error in line 1: Syntax error: plain IP address must be supplied: 20a1:1234:5678::/64
Should be line 2 though.
The solution is to set the session lineno before parsing.
Diffstat (limited to 'src')
-rw-r--r-- | src/ipset.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/ipset.c b/src/ipset.c index 89dbe8f..d4cf7b8 100644 --- a/src/ipset.c +++ b/src/ipset.c @@ -439,6 +439,9 @@ parse_commandline(int argc, char *argv[]) "Cannot initialize ipset session, aborting."); } + /* Set session lineno to report parser errors correctly */ + ipset_session_lineno(session, restore_line); + /* Commandline parsing, somewhat similar to that of 'ip' */ /* First: parse core options */ |