Bug 17061: Handle error return from sysconf correctly
authorJoe Marcus Clarke <marcus@freedesktop.org>
Fri, 5 Sep 2008 02:13:30 +0000 (22:13 -0400)
committerColin Walters <walters@verbum.org>
Wed, 1 Oct 2008 19:00:29 +0000 (15:00 -0400)
* dbus/dbus-sysdeps-unix.c:
* dbus/dbus-sysdeps-util-unix.c: Cast return
from sysconf temporarily so we actually see
-1.

Signed-off-by: Colin Walters <walters@verbum.org>
dbus/dbus-sysdeps-unix.c
dbus/dbus-sysdeps-util-unix.c

index 3f963bc..24a3774 100644 (file)
@@ -1493,7 +1493,11 @@ fill_user_info (DBusUserInfo       *info,
     /* retrieve maximum needed size for buf */
     buflen = sysconf (_SC_GETPW_R_SIZE_MAX);
 
-    if (buflen <= 0)
+    /* sysconf actually returns a long, but everything else expects size_t,
+     * so just recast here.
+     * https://bugs.freedesktop.org/show_bug.cgi?id=17061
+     */
+    if ((long) buflen <= 0)
       buflen = 1024;
 
     result = -1;
index 55eb934..0343a90 100644 (file)
@@ -836,7 +836,11 @@ fill_group_info (DBusGroupInfo    *info,
     /* retrieve maximum needed size for buf */
     buflen = sysconf (_SC_GETGR_R_SIZE_MAX);
 
-    if (buflen <= 0)
+    /* sysconf actually returns a long, but everything else expects size_t,
+     * so just recast here.
+     * https://bugs.freedesktop.org/show_bug.cgi?id=17061
+     */
+    if ((long) buflen <= 0)
       buflen = 1024;
 
     result = -1;