summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoe Marcus Clarke <marcus@freedesktop.org>2008-09-04 22:13:30 -0400
committerColin Walters <walters@verbum.org>2008-10-01 15:00:29 -0400
commit008bca5a4e3600d56ac7c1fe984789110b83e1b2 (patch)
treef2227d290d0a07eb5434c5aa9c010b85f39498c5
parente8ea01bd07eedb3c98bc0725e5799fe08499262a (diff)
Bug 17061: Handle error return from sysconf correctly
* 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>
-rw-r--r--dbus/dbus-sysdeps-unix.c6
-rw-r--r--dbus/dbus-sysdeps-util-unix.c6
2 files changed, 10 insertions, 2 deletions
diff --git a/dbus/dbus-sysdeps-unix.c b/dbus/dbus-sysdeps-unix.c
index 3f963bca..24a3774f 100644
--- a/dbus/dbus-sysdeps-unix.c
+++ b/dbus/dbus-sysdeps-unix.c
@@ -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;
diff --git a/dbus/dbus-sysdeps-util-unix.c b/dbus/dbus-sysdeps-util-unix.c
index 55eb9346..0343a90c 100644
--- a/dbus/dbus-sysdeps-util-unix.c
+++ b/dbus/dbus-sysdeps-util-unix.c
@@ -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;