From 4c78990dd39bcd8be50d9fd4b819cd70be82c884 Mon Sep 17 00:00:00 2001 From: Sebastian Wick Date: Thu, 2 Jul 2026 20:11:36 +0200 Subject: [PATCH] dir-utils: Fix signed integer overflow in extension priority comparator The subtraction-based comparison overflows when priority values are far apart, which is undefined behavior in C. --- common/flatpak-dir-utils.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/common/flatpak-dir-utils.c b/common/flatpak-dir-utils.c index 4a23df83c..c5dd3e933 100644 --- a/common/flatpak-dir-utils.c +++ b/common/flatpak-dir-utils.c @@ -338,7 +338,13 @@ flatpak_extension_compare (gconstpointer _a, const FlatpakExtension *a = _a; const FlatpakExtension *b = _b; - return b->priority - a->priority; + /* Subtraction would overflow for far-apart priorities */ + if (b->priority > a->priority) + return 1; + else if (b->priority < a->priority) + return -1; + else + return 0; } static FlatpakExtension *