path: root/src/ipset.c
diff options
authorJozsef Kadlecsik <>2011-01-18 17:17:46 +0100
committerJozsef Kadlecsik <>2011-01-18 17:17:46 +0100
commitcac607bd8850e00356e4d97b05e7c8adfb3fa640 (patch)
treebefa146e2c99f2557ee385865070c5853eb887b7 /src/ipset.c
parent1d4c46ed1088f40315695bc2de12bddc35b536a1 (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/ipset.c')
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 */