From: Pablo Neira Ayuso Date: Wed, 10 Oct 2018 17:19:18 +0000 (+0200) Subject: segtree: set proper error cause on existing elements X-Git-Tag: v0.9.1~237 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=8ef0efb97006081e7f6054a950cb3614dd57729f;p=thirdparty%2Fnftables.git 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 --- 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; }