From 8149a4ef8f7cbcd33e0af6c04dbc9efbbd64364b Mon Sep 17 00:00:00 2001 From: Ondrej Zajicek Date: Tue, 10 Feb 2026 03:41:59 +0100 Subject: [PATCH] Filter: Fix string ordering Function strcmp() returns negative / 0 / positive, but val_compare() is expected to return -1 / 0 / 1. --- filter/data.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/filter/data.c b/filter/data.c index 9b052f894..9bcab5048 100644 --- a/filter/data.c +++ b/filter/data.c @@ -210,7 +210,8 @@ val_compare(const struct f_val *v1, const struct f_val *v2) case T_NET: return net_compare(v1->val.net, v2->val.net); case T_STRING: - return strcmp(v1->val.s, v2->val.s); + int i = strcmp(v1->val.s, v2->val.s); + return (i > 0) - (i < 0); case T_PATH: return as_path_compare(v1->val.ad, v2->val.ad); case T_ROUTE: -- 2.47.3