瀏覽代碼

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);