]> git.ipfire.org Git - thirdparty/dbus.git/commitdiff
dbus-sysdeps-unix: Check socklen_t is unsigned when getting group list
authorcptpcrd <cptpcrd.git@gmail.com>
Mon, 31 Jul 2023 23:33:33 +0000 (19:33 -0400)
committerSimon McVittie <smcv@collabora.com>
Tue, 1 Aug 2023 18:09:26 +0000 (18:09 +0000)
After the change to handle an empty list properly, the function now
assumes that is true.

dbus/dbus-sysdeps-unix.c

index 486c4e21941af3b7bb621e628ee6447f7aa7bebd..6962b07716c3914398770f61db3796d2cc20791f 100644 (file)
@@ -1956,6 +1956,8 @@ add_groups_to_credentials (int              client_fd,
 {
 #if defined(__linux__) && defined(SO_PEERGROUPS)
   _DBUS_STATIC_ASSERT (sizeof (gid_t) <= sizeof (dbus_gid_t));
+  /* This function assumes socklen_t is unsigned, which is true on Linux */
+  _DBUS_STATIC_ASSERT (((socklen_t) -1) > 0);
   gid_t *buf = NULL;
   socklen_t len = 1024;
   dbus_bool_t oom = FALSE;