diff options
author | Pablo Neira Ayuso <pablo@netfilter.org> | 2018-10-10 19:19:18 +0200 |
---|---|---|
committer | Pablo Neira Ayuso <pablo@netfilter.org> | 2018-10-10 19:21:13 +0200 |
commit | 8ef0efb97006081e7f6054a950cb3614dd57729f (patch) | |
tree | 010f330a6b146750c26f44213c4ab3764f59e106 | |
parent | 98b047f231215817d87a49dfffbe7b4c0dc29b57 (diff) |
segtree: set proper error cause on existing elements
Adding new elements result in a confusing "Success" error message.
# nft add element x y { 0-3 }
[...]
Error: Could not process rule: Success
add element x y { 0-3 }
^^^^^^^^^^^^^^^^^^^^^^^^
after this patch, this reports:
Error: Could not process rule: File exists
add element x y { 0-3 }
^^^^^^^^^^^^^^^^^^^^^^^^
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
-rw-r--r-- | src/segtree.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/segtree.c b/src/segtree.c index 4ee09884..5685618b 100644 --- a/src/segtree.c +++ b/src/segtree.c @@ -270,6 +270,7 @@ static int ei_insert(struct list_head *msgs, struct seg_tree *tree, return 0; err: + errno = EEXIST; return expr_binary_error(msgs, lei->expr, new->expr, "conflicting intervals specified"); } @@ -371,6 +372,7 @@ static int set_overlap(struct list_head *msgs, const struct set *set, expr_error(msgs, new_intervals[i]->expr, "interval overlaps with an existing one"); + errno = EEXIST; ret = -1; goto out; } |