Преглед на файлове

vinput: Fix NULL pointer dereference caused by failed kzalloc allocation

When kzalloc fails to allocate memory and returns NULL, it leads to a
NULL pointer dereference error later on. Add a check for the return
value of kzalloc. When kzalloc fails to allocate memory, it prints an
error message and returns ERR_PTR(-ENOMEM).
Kuan-Wei Chiu преди 11 месеца
родител
ревизия
c068fa47e9
променени са 1 файла, в които са добавени 5 реда и са изтрити 0 реда
  1. 5 0
      examples/vinput.c

+ 5 - 0
examples/vinput.c

@@ -177,6 +177,11 @@ static struct vinput *vinput_alloc_vdevice(void)
     int err;
     struct vinput *vinput = kzalloc(sizeof(struct vinput), GFP_KERNEL);
 
+    if (!vinput) {
+        pr_err("vinput: Cannot allocate vinput input device\n");
+        return ERR_PTR(-ENOMEM);
+    }
+
     try_module_get(THIS_MODULE);
 
     spin_lock_init(&vinput->lock);