Also that we don't lose the reply message.
---
 src/netmon.c | 17 ++++++++++++++++-
 1 file changed, 16 insertions(+), 1 deletion(-)

diff --git a/src/netmon.c b/src/netmon.c
index 9d6de07..eb18b9c 100644
--- a/src/netmon.c
+++ b/src/netmon.c
@@ -199,9 +199,24 @@ static void serving_cell_info_callback(const struct 
ofono_error *error,
        struct ofono_netmon *netmon = data;
        DBusMessage *reply = netmon->reply;
 
-       if (error->type != OFONO_ERROR_TYPE_NO_ERROR)
+       if (error->type != OFONO_ERROR_TYPE_NO_ERROR) {
+               if (reply)
+                       dbus_message_unref(reply);
+
                reply = __ofono_error_failed(netmon->pending);
+        } else if (!reply) {
+               DBusMessageIter iter;
+               DBusMessageIter dict;
+
+               reply = dbus_message_new_method_return(netmon->pending);
+               dbus_message_iter_init_append(reply, &iter);
+               dbus_message_iter_open_container(&iter, DBUS_TYPE_ARRAY,
+                                       OFONO_PROPERTIES_ARRAY_SIGNATURE,
+                                       &dict);
+               dbus_message_iter_close_container(&iter, &dict);
+       }
 
+       netmon->reply = NULL;
        __ofono_dbus_pending_reply(&netmon->pending, reply);
 }
 
-- 
1.9.1

_______________________________________________
ofono mailing list
ofono@ofono.org
https://lists.ofono.org/mailman/listinfo/ofono

Reply via email to