diff options
Diffstat (limited to 'server/infopipe/infopipe.c')
-rw-r--r-- | server/infopipe/infopipe.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/server/infopipe/infopipe.c b/server/infopipe/infopipe.c index 4ec971ca..8d4bfeef 100644 --- a/server/infopipe/infopipe.c +++ b/server/infopipe/infopipe.c @@ -144,11 +144,15 @@ static int infp_monitor_init(struct infp_ctx *infp_ctx) /* Helper function to return an immediate error message in the event * of internal error in the InfoPipe to avoid forcing the clients to * time out waiting for a reply. + * This function will make a best effort to send a reply, but if it + * fails, clients will simply have to handle the timeout. */ void infp_return_failure(struct infp_req_ctx *infp_req, const char *message) { DBusMessage *reply; + if(infp_req == NULL) return; + reply = dbus_message_new_error(infp_req->req_message, DBUS_ERROR_FAILED, message); @@ -172,6 +176,8 @@ void infp_return_success(struct infp_req_ctx *infp_req) { DBusMessage *reply; + if (infp_req == NULL) return; + reply = dbus_message_new_method_return(infp_req->req_message); /* If the reply was NULL, we ran out of memory, so we won't * bother trying to queue the message to send. In this case, |