keyrouter: Drop unnecessary NULL check for wl_container_of() 25/278225/1
authorSeunghun Lee <shiin.lee@samsung.com>
Fri, 10 Jun 2022 05:55:24 +0000 (14:55 +0900)
committerSooChan Lim <sc1.lim@samsung.com>
Mon, 18 Jul 2022 05:59:01 +0000 (14:59 +0900)
If wl_container_of() returned null, it's not something that we treat
as an exception case, but is something that we'd better fail
immediately. The result of wl_container_of() is never null.

Change-Id: I1812a2f148888cbd64441a2a39916c13f2f68a27

src/keyrouter/keyrouter_grab.c

index 755f6d47dd17916639f19bb29bf2d01a6909d660..ae29e8e65d1d8fce797a8fe0de63003dd0777b49 100644 (file)
@@ -136,31 +136,27 @@ keyrouter_grab_key_process(struct ds_tizen_keyrouter_grab *keygrab,
     }
 
     if (!wl_list_empty(&keygrab->hard_keys[keycode].grab.excl)) {
-        info = wl_container_of(keygrab->hard_keys[keycode].grab.excl.next, info, link);
-        if (info) {
-            delivery = calloc(1, sizeof(struct ds_tizen_keyrouter_key_info));
-            if (delivery == NULL) {
-                ds_err("Failed to allocate memory.");
-                return 0;
-            }
-            delivery->data = info->data;
-            wl_list_insert(delivery_list, &delivery->link);
-            ds_dbg("Exclusive Mode: keycode: %d to data: %p", keycode, info->data);
-            return 1;
+        delivery = calloc(1, sizeof(struct ds_tizen_keyrouter_key_info));
+        if (delivery == NULL) {
+            ds_err("Failed to allocate memory.");
+            return 0;
         }
+        info = wl_container_of(keygrab->hard_keys[keycode].grab.excl.next, info, link);
+        delivery->data = info->data;
+        wl_list_insert(delivery_list, &delivery->link);
+        ds_dbg("Exclusive Mode: keycode: %d to data: %p", keycode, info->data);
+        return 1;
     } else if (!wl_list_empty(&keygrab->hard_keys[keycode].grab.or_excl)) {
-        info = wl_container_of(keygrab->hard_keys[keycode].grab.or_excl.next, info, link);
-        if (info) {
-            delivery = calloc(1, sizeof(struct ds_tizen_keyrouter_key_info));
-            if (delivery == NULL) {
-                ds_err("Failed to allocate memory.");
-                return 0;
-            }
-            delivery->data = info->data;
-            wl_list_insert(delivery_list, &delivery->link);
-            ds_dbg("OR-Excl Mode: keycode: %d to data: %p", keycode, info->data);
-            return 1;
+        delivery = calloc(1, sizeof(struct ds_tizen_keyrouter_key_info));
+        if (delivery == NULL) {
+            ds_err("Failed to allocate memory.");
+            return 0;
         }
+        info = wl_container_of(keygrab->hard_keys[keycode].grab.or_excl.next, info, link);
+        delivery->data = info->data;
+        wl_list_insert(delivery_list, &delivery->link);
+        ds_dbg("OR-Excl Mode: keycode: %d to data: %p", keycode, info->data);
+        return 1;
     } else if (!wl_list_empty(&keygrab->hard_keys[keycode].grab.top)) {
         wl_list_for_each(info, &keygrab->hard_keys[keycode].grab.top, link) {
             if (keygrab->top_client && keygrab->top_client == info->data) {