dbus: Add signature checking before using g_variant_get()
[platform/core/system/feedbackd.git] / src / haptic / haptic.c
index b35703f..f198016 100644 (file)
@@ -1220,7 +1220,10 @@ static void haptic_poweroff_cb(GDBusConnection  *conn,
        int ret, level;
        struct timespec time = {0,};
 
-       g_variant_get(param, "(i)", &type);
+       if (!dh_get_param_from_var(param, "(i)", &type)) {
+               _E("Failed to get params from gvariant. expected:%s, type:%s", "(i)", g_variant_get_type_string(param));
+               return;
+       }
 
        if (type != POWER_OFF_DIRECT && type != POWER_OFF_RESTART)
                return;
@@ -1390,7 +1393,13 @@ void haptic_init(void)
        if (r < 0)
                _E("Failed to init hdbus interface and method: %d", r);
 
-       id_sig_pwr_off_state = subscribe_dbus_signal(NULL, DEVICED_PATH_POWEROFF, DEVICED_INTERFACE_POWEROFF, SIGNAL_POWEROFF_STATE, haptic_poweroff_cb, NULL, NULL);
+       id_sig_pwr_off_state = subscribe_dbus_signal(NULL,
+                       DEVICED_PATH_POWEROFF,
+                       DEVICED_INTERFACE_POWEROFF,
+                       SIGNAL_POWEROFF_STATE,
+                       haptic_poweroff_cb,
+                       NULL,
+                       NULL);
        if (id_sig_pwr_off_state <= 0) {
                _E("Failed to register signal handler: %d", r);
                return;