D-Bus: Remove useless wpa_s->conf checks
[mech_eap.git] / wpa_supplicant / dbus / dbus_new_handlers_p2p.c
index 286509b..e24b216 100644 (file)
@@ -1695,15 +1695,6 @@ dbus_bool_t wpas_dbus_getter_persistent_groups(DBusMessageIter *iter,
        unsigned int i = 0, num = 0;
        dbus_bool_t success = FALSE;
 
-       if (wpa_s->conf == NULL) {
-               wpa_printf(MSG_ERROR, "dbus: %s: "
-                          "An error occurred getting persistent groups list",
-                          __func__);
-               dbus_set_error_const(error, DBUS_ERROR_FAILED, "an error "
-                                    "occurred getting persistent groups list");
-               return FALSE;
-       }
-
        for (ssid = wpa_s->conf->ssid; ssid; ssid = ssid->next)
                if (network_is_persistent_group(ssid))
                        num++;
@@ -2361,6 +2352,7 @@ DBusMessage * wpas_dbus_handler_p2p_add_service(DBusMessage *message,
                        version = entry.uint32_value;
                } else if (!os_strcmp(entry.key, "service") &&
                             (entry.type == DBUS_TYPE_STRING)) {
+                       os_free(service);
                        service = os_strdup(entry.str_value);
                } else if (!os_strcmp(entry.key, "query")) {
                        if ((entry.type != DBUS_TYPE_ARRAY) ||
@@ -2386,8 +2378,6 @@ DBusMessage * wpas_dbus_handler_p2p_add_service(DBusMessage *message,
                if (wpas_p2p_service_add_upnp(wpa_s, version, service) != 0)
                        goto error;
 
-               os_free(service);
-               service = NULL;
        } else if (bonjour == 1) {
                if (query == NULL || resp == NULL)
                        goto error;
@@ -2399,6 +2389,7 @@ DBusMessage * wpas_dbus_handler_p2p_add_service(DBusMessage *message,
        } else
                goto error;
 
+       os_free(service);
        return reply;
 error_clear:
        wpa_dbus_dict_entry_clear(&entry);
@@ -2452,9 +2443,10 @@ DBusMessage * wpas_dbus_handler_p2p_delete_service(
                            entry.type == DBUS_TYPE_INT32)
                                version = entry.uint32_value;
                        else if (!os_strcmp(entry.key, "service") &&
-                                entry.type == DBUS_TYPE_STRING)
+                                entry.type == DBUS_TYPE_STRING) {
+                               os_free(service);
                                service = os_strdup(entry.str_value);
-                       else
+                       else
                                goto error_clear;
 
                        wpa_dbus_dict_entry_clear(&entry);
@@ -2464,7 +2456,6 @@ DBusMessage * wpas_dbus_handler_p2p_delete_service(
                        goto error;
 
                ret = wpas_p2p_service_del_upnp(wpa_s, version, service);
-               os_free(service);
                if (ret != 0)
                        goto error;
        } else if (bonjour == 1) {
@@ -2476,6 +2467,7 @@ DBusMessage * wpas_dbus_handler_p2p_delete_service(
                                if ((entry.type != DBUS_TYPE_ARRAY) ||
                                    (entry.array_type != DBUS_TYPE_BYTE))
                                        goto error_clear;
+                               wpabuf_free(query);
                                query = wpabuf_alloc_copy(
                                        entry.bytearray_value,
                                        entry.array_len);
@@ -2491,14 +2483,17 @@ DBusMessage * wpas_dbus_handler_p2p_delete_service(
                ret = wpas_p2p_service_del_bonjour(wpa_s, query);
                if (ret != 0)
                        goto error;
-               wpabuf_free(query);
        } else
                goto error;
 
+       wpabuf_free(query);
+       os_free(service);
        return reply;
 error_clear:
        wpa_dbus_dict_entry_clear(&entry);
 error:
+       wpabuf_free(query);
+       os_free(service);
        return wpas_dbus_error_invalid_args(message, NULL);
 }
 
@@ -2634,7 +2629,8 @@ DBusMessage * wpas_dbus_handler_p2p_service_sd_res(
                           entry.type == DBUS_TYPE_INT32) {
                        freq = entry.uint32_value;
                } else if (!os_strcmp(entry.key, "dialog_token") &&
-                          entry.type == DBUS_TYPE_UINT32) {
+                          (entry.type == DBUS_TYPE_UINT32 ||
+                           entry.type == DBUS_TYPE_INT32)) {
                        dlg_tok = entry.uint32_value;
                } else if (!os_strcmp(entry.key, "tlvs")) {
                        if (entry.type != DBUS_TYPE_ARRAY ||