From 1843780151af9bfc090a5ad4890785e0cfed2de7 Mon Sep 17 00:00:00 2001 From: Evan Hunt Date: Mon, 8 Aug 2022 11:42:07 -0700 Subject: [PATCH] fix overflow error in mem_putstats() an integer overflow could cause an assertion failure when freeing memory. (cherry picked from commit 0401e0867b1516386fab9b390b750a2f99883188) --- CHANGES | 3 +++ lib/isc/mem.c | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/CHANGES b/CHANGES index 14e6a610bd..2e032f2f47 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,6 @@ +5938. [bug] An integer type overflow could cause an assertion + failure when freeing memory. [GL #3483] + 5936. [bug] Don't enable serve-stale for lookups that error because it is a duplicate query or a query that would be dropped. [GL #2982] diff --git a/lib/isc/mem.c b/lib/isc/mem.c index bebe0e5c6c..b2e53a31e1 100644 --- a/lib/isc/mem.c +++ b/lib/isc/mem.c @@ -414,7 +414,7 @@ mem_getstats(isc_mem_t *ctx, size_t size) { static void mem_putstats(isc_mem_t *ctx, void *ptr, size_t size) { struct stats *stats = stats_bucket(ctx, size); - uint_fast32_t s, g; + atomic_size_t s, g; UNUSED(ptr);