[glib: 1/2] Cast to guintptr instead of subtracting by null
- From: Sebastian Dröge <sdroege src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [glib: 1/2] Cast to guintptr instead of subtracting by null
- Date: Sat, 7 May 2022 05:46:57 +0000 (UTC)
commit b4b2f75bfd39470342a7b87daf5261a0cb074d73
Author: TestingPlant <49836-TestingPlant users noreply gitlab gnome org>
Date: Sat Apr 30 22:37:03 2022 +0000
Cast to guintptr instead of subtracting by null
Subtraction by a null pointer is undefined behavior, so it's been
replaced with a cast to guintptr.
glib/gqsort.c | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
---
diff --git a/glib/gqsort.c b/glib/gqsort.c
index 90e65aefe1..86580f524e 100644
--- a/glib/gqsort.c
+++ b/glib/gqsort.c
@@ -263,16 +263,15 @@ msort_r (void *b, size_t n, size_t s, GCompareDataFunc cmp, void *arg)
else
{
if ((s & (sizeof (guint32) - 1)) == 0
- && ((char *) b - (char *) 0) % ALIGNOF_GUINT32 == 0)
+ && (guintptr) b % ALIGNOF_GUINT32 == 0)
{
if (s == sizeof (guint32))
p.var = 0;
else if (s == sizeof (guint64)
- && ((char *) b - (char *) 0) % ALIGNOF_GUINT64 == 0)
+ && (guintptr) b % ALIGNOF_GUINT64 == 0)
p.var = 1;
else if ((s & (sizeof (unsigned long) - 1)) == 0
- && ((char *) b - (char *) 0)
- % ALIGNOF_UNSIGNED_LONG == 0)
+ && (guintptr) b % ALIGNOF_UNSIGNED_LONG == 0)
p.var = 2;
}
msort_with_tmp (&p, b, n);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]