From d792c9d2797a5160e23827abdc71bfe500009cd3 Mon Sep 17 00:00:00 2001 From: Jakob Kaivo Date: Wed, 31 Jan 2024 16:40:42 -0500 Subject: add UB checks for search/sort --- src/stdlib/qsort.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src/stdlib/qsort.c') diff --git a/src/stdlib/qsort.c b/src/stdlib/qsort.c index 42764817..346dba88 100644 --- a/src/stdlib/qsort.c +++ b/src/stdlib/qsort.c @@ -24,6 +24,7 @@ static void __qsort(char *base, size_t size, size_t lo, size_t hi, int (*compar) } for (j = lo; j < hi; j++) { + /* TODO: ensure compar() doesn't modify things */ if (compar(base + (size * j), base + (size * hi)) < 0) { __swap(base, size, i, j); i++; @@ -38,6 +39,7 @@ static void __qsort(char *base, size_t size, size_t lo, size_t hi, int (*compar) void qsort(void * base, size_t nmemb, size_t size, int (*compar)(const void *, const void *)) { SIGNAL_SAFE(0); + ASSERT_NONNULL(base); __qsort(base, size, 0, nmemb - 1, compar); } -- cgit v1.2.1