From bdf7f2e36600aeffab76c3d61f9d24869b7c0d65 Mon Sep 17 00:00:00 2001 From: GNU Libc Maintainers Date: Thu, 6 Mar 2025 23:46:53 +0100 Subject: [PATCH] local-qsort-memory-corruption Gbp-Pq: Topic any Gbp-Pq: Name local-qsort-memory-corruption.patch --- stdlib/qsort.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/stdlib/qsort.c b/stdlib/qsort.c index 9599d2bd5..98b7e2b7a 100644 --- a/stdlib/qsort.c +++ b/stdlib/qsort.c @@ -224,7 +224,8 @@ _quicksort (void *const pbase, size_t total_elems, size_t size, while ((run_ptr += size) <= end_ptr) { tmp_ptr = run_ptr - size; - while ((*cmp) ((void *) run_ptr, (void *) tmp_ptr, arg) < 0) + while (tmp_ptr != base_ptr + && (*cmp) ((void *) run_ptr, (void *) tmp_ptr, arg) < 0) tmp_ptr -= size; tmp_ptr += size; -- 2.30.2