Fixed SVACE error 342310 68/187068/4 accepted/tizen/unified/20180828.181958 submit/tizen/20180827.050511
authorMaria Bialota <m.bialota@samsung.com>
Fri, 17 Aug 2018 13:42:47 +0000 (15:42 +0200)
committerMaria Bialota <m.bialota@samsung.com>
Mon, 20 Aug 2018 13:54:49 +0000 (15:54 +0200)
Change-Id: I2aa7879eac985017de3089bd6fa3613c5e571a52

setting-accessibility/src/setting-accessibility-universal-switch-dbus.c

index dc9e4f5165d35011dded0e999d128ecb2dadbc02..4d6784351988271f46a0b818dbca3a4a02082958 100755 (executable)
@@ -157,22 +157,26 @@ static Eina_Array * __eldbus_getAllSwitchProviders(UniversalSwitchEldbus *eldbus
                SETTING_TRACE_ERROR("Unable to call method " IFACE ".getAllSwitchProviders: %s %s", errname, errmsg);
        } else {
                Eina_Array *switch_providers_info = eina_array_new(EINA_ARRAY_STEPS);
-               __eldbus_getInfoArray(switch_providers_info, reply);
-
-               Eina_Array_Iterator iterator;
-               UniversalSwitchSwitchProviderInfoType *provider_info;
-               int i;
-               EINA_ARRAY_ITER_NEXT(switch_providers_info, i, provider_info, iterator) {
-                       UniversalSwitchSwitchProvider *switch_provider = calloc(1, sizeof(UniversalSwitchSwitchProvider));
-                       if (!switch_provider) {
-                               SETTING_TRACE_ERROR("Out of memory");
-                               break;
+               if (switch_providers_info) {
+                       __eldbus_getInfoArray(switch_providers_info, reply);
+
+                       Eina_Array_Iterator iterator;
+                       UniversalSwitchSwitchProviderInfoType *provider_info;
+                       int i;
+                       EINA_ARRAY_ITER_NEXT(switch_providers_info, i, provider_info, iterator) {
+                               UniversalSwitchSwitchProvider *switch_provider = calloc(1, sizeof(UniversalSwitchSwitchProvider));
+                               if (!switch_provider) {
+                                       SETTING_TRACE_ERROR("Out of memory");
+                                       break;
+                               }
+                               switch_provider->info = provider_info;
+                               switch_provider->switches = __eldbus_getAllSwitchesByProviderId(eldbus, provider_info->id);
+                               eina_array_push(switch_providers, switch_provider);
                        }
-                       switch_provider->info = provider_info;
-                       switch_provider->switches = __eldbus_getAllSwitchesByProviderId(eldbus, provider_info->id);
-                       eina_array_push(switch_providers, switch_provider);
+                       eina_array_free(switch_providers_info);
+               } else {
+                       SETTING_TRACE_ERROR("Out of memory");
                }
-               eina_array_free(switch_providers_info);
        }
 
        if (reply)