Check if dbus message was of type error before populating
hashes to avoid a couple of crashes
---
 client/commands.c | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/client/commands.c b/client/commands.c
index 9c01fd5..afc3ab6 100644
--- a/client/commands.c
+++ b/client/commands.c
@@ -2315,6 +2315,11 @@ static void update_services(DBusMessageIter *iter)
 static int populate_service_hash(DBusMessageIter *iter, const char *error,
                                void *user_data)
 {
+       if (error) {
+               fprintf(stderr, "Error getting services: %s", error);
+               return 0;
+       }
+
        update_services(iter);
        return 0;
 }
@@ -2376,6 +2381,11 @@ static void update_peers(DBusMessageIter *iter)
 static int populate_peer_hash(DBusMessageIter *iter,
                                        const char *error, void *user_data)
 {
+       if (error) {
+               fprintf(stderr, "Error getting peers: %s", error);
+               return 0;
+       }
+
        update_peers(iter);
        return 0;
 }
@@ -2436,6 +2446,11 @@ static void update_technologies(DBusMessageIter *iter)
 static int populate_technology_hash(DBusMessageIter *iter, const char *error,
                                void *user_data)
 {
+       if (error) {
+               fprintf(stderr, "Error getting technologies: %s", error);
+               return 0;
+       }
+
        update_technologies(iter);
 
        return 0;
-- 
1.8.1.4

_______________________________________________
connman mailing list
[email protected]
https://lists.connman.net/mailman/listinfo/connman

Reply via email to