summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon McVittie <simon.mcvittie@collabora.co.uk>2011-03-28 18:52:02 +0100
committerSimon McVittie <simon.mcvittie@collabora.co.uk>2011-04-13 14:02:42 +0100
commit25c4b24a0d8490a7ba667b9944ce9b1c0808878a (patch)
tree7adf1cbb568181bbe1249384cb53897f35ec0856
parent35d1d8479031393f86fe668d2a1f64325b5dd1be (diff)
Don't allow proxy timeouts to be set negative, except for -1
libdbus checks this as a precondition, but to avoid astonishing error behaviour (interpreted as OOM), so should we. Reviewed-by: Will Thompson <will.thompson@collabora.co.uk> Bug: https://bugs.freedesktop.org/show_bug.cgi?id=30171
-rw-r--r--dbus/dbus-gproxy.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/dbus/dbus-gproxy.c b/dbus/dbus-gproxy.c
index 7ef76d3..578aff5 100644
--- a/dbus/dbus-gproxy.c
+++ b/dbus/dbus-gproxy.c
@@ -2512,6 +2512,7 @@ dbus_g_proxy_begin_call_with_timeout (DBusGProxy *proxy,
g_return_val_if_fail (DBUS_IS_G_PROXY (proxy), NULL);
g_return_val_if_fail (!DBUS_G_PROXY_DESTROYED (proxy), NULL);
+ g_return_val_if_fail (timeout >= 0 || timeout == -1, NULL);
va_start (args, first_arg_type);
@@ -2659,6 +2660,7 @@ dbus_g_proxy_call_with_timeout (DBusGProxy *proxy,
g_return_val_if_fail (DBUS_IS_G_PROXY (proxy), FALSE);
g_return_val_if_fail (!DBUS_G_PROXY_DESTROYED (proxy), FALSE);
+ g_return_val_if_fail (timeout >= 0 || timeout == -1, FALSE);
va_start (args, first_arg_type);
@@ -3003,6 +3005,7 @@ dbus_g_proxy_set_default_timeout (DBusGProxy *proxy,
g_return_if_fail (DBUS_IS_G_PROXY (proxy));
g_return_if_fail (!DBUS_G_PROXY_DESTROYED (proxy));
+ g_return_if_fail (timeout >= 0 || timeout == -1);
priv = DBUS_G_PROXY_GET_PRIVATE(proxy);
priv->default_timeout = timeout;