diff options
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | dbus/dbus-pending-call.c | 10 |
2 files changed, 16 insertions, 0 deletions
@@ -1,5 +1,11 @@ 2006-09-05 John (J5) Palmieri <johnp@redhat.com> + * dbus/dbus-pending-call.c: Add some checks so we don't crash on + NULL in the public API (Patch from Kimmo Hämäläinen + <kimmo dot hamalainen at nokia dot com>) + +2006-09-05 John (J5) Palmieri <johnp@redhat.com> + * configure.in: Fix for OS-X compile time endian issues (patch from Benjamin Reed <ranger at befunk dot com>) diff --git a/dbus/dbus-pending-call.c b/dbus/dbus-pending-call.c index 6076d723..bb903922 100644 --- a/dbus/dbus-pending-call.c +++ b/dbus/dbus-pending-call.c @@ -547,6 +547,8 @@ dbus_pending_call_set_notify (DBusPendingCall *pending, void dbus_pending_call_cancel (DBusPendingCall *pending) { + _dbus_return_if_fail (pending != NULL); + _dbus_connection_remove_pending_call (pending->connection, pending); } @@ -576,6 +578,8 @@ dbus_pending_call_get_completed (DBusPendingCall *pending) { dbus_bool_t completed; + _dbus_return_val_if_fail (pending != NULL, FALSE); + CONNECTION_LOCK (pending->connection); completed = pending->completed; CONNECTION_UNLOCK (pending->connection); @@ -597,6 +601,7 @@ dbus_pending_call_steal_reply (DBusPendingCall *pending) { DBusMessage *message; + _dbus_return_val_if_fail (pending != NULL, NULL); _dbus_return_val_if_fail (pending->completed, NULL); _dbus_return_val_if_fail (pending->reply != NULL, NULL); @@ -627,6 +632,8 @@ dbus_pending_call_steal_reply (DBusPendingCall *pending) void dbus_pending_call_block (DBusPendingCall *pending) { + _dbus_return_if_fail (pending != NULL); + _dbus_connection_block_pending_call (pending); } @@ -650,6 +657,8 @@ _DBUS_DEFINE_GLOBAL_LOCK (pending_call_slots); dbus_bool_t dbus_pending_call_allocate_data_slot (dbus_int32_t *slot_p) { + _dbus_return_val_if_fail (slot_p != NULL, FALSE); + return _dbus_data_slot_allocator_alloc (&slot_allocator, &_DBUS_LOCK_NAME (pending_call_slots), slot_p); @@ -669,6 +678,7 @@ dbus_pending_call_allocate_data_slot (dbus_int32_t *slot_p) void dbus_pending_call_free_data_slot (dbus_int32_t *slot_p) { + _dbus_return_if_fail (slot_p != NULL); _dbus_return_if_fail (*slot_p >= 0); _dbus_data_slot_allocator_free (&slot_allocator, slot_p); |