Hi guys!
I have encountered a crash inside dbus library when sending message to
receiver that is absent on the bus. Crash happens because
dbus_message_iter_init API is called with NULL for its first argument.
The attached patch fixes this crash. Could you please apply it to the
main egg repository.
--
Thanks,
Erik
--- dbus.original.scm 2014-01-31 11:39:43.0 +0400
+++ dbus.scm 2014-02-06 17:41:52.557720859 +0400
@@ -679,7 +679,7 @@
(for-each (lambda (parm)
(iter-append-basic iter parm)) params)
(free-iter iter)
-(let* ([reply-msg ((foreign-lambda* message-ptr ((connection-ptr conn) (message-ptr msg))
+(and-let* ([reply-msg ((foreign-lambda* message-ptr ((connection-ptr conn) (message-ptr msg))
;; idealistic code here; todo: error checking
;; todo: timeout comes from where? (make-parameter) maybe
"DBusMessage *reply;
@@ -710,7 +710,7 @@
(iter-append-basic iter parm)) params)
(free-iter iter)
;; TODO: pull this out into a helper function
- (let* ([reply-msg ((foreign-lambda* message-ptr ((connection-ptr conn) (message-ptr msg))
+ (and-let* ([reply-msg ((foreign-lambda* message-ptr ((connection-ptr conn) (message-ptr msg))
;; idealistic code here; todo: error checking
"DBusPendingCall* pending;
dbus_connection_send_with_reply(conn, msg, &pending, -1);
___
Chicken-users mailing list
Chicken-users@nongnu.org
https://lists.nongnu.org/mailman/listinfo/chicken-users