Add NULL check after memalign() call in get_mem() to prevent
potential NULL pointer dereference (CWE-476).

The function memalign() can return NULL on allocation failure.
Dereferencing the returned pointer without checking for NULL
may cause a crash in low-memory conditions.

Changes:
- Add NULL check after memalign() allocation
- Return NULL on failure, consistent with function semantics

This fixes the static analyzer warning:
  linux_compat.c:34: dereference of memalign return value without NULL check

Reported-by: static analyzer Svace
Signed-off-by: Anton Moryakov <[email protected]>
---
 lib/linux_compat.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/lib/linux_compat.c b/lib/linux_compat.c
index 985e88eb397..e4a3293e3af 100644
--- a/lib/linux_compat.c
+++ b/lib/linux_compat.c
@@ -32,6 +32,9 @@ struct kmem_cache *get_mem(int element_sz)
        struct kmem_cache *ret;
 
        ret = memalign(ARCH_DMA_MINALIGN, sizeof(struct kmem_cache));
+       if (!ret)
+               return NULL;
+
        ret->sz = element_sz;
 
        return ret;
-- 
2.39.2

Reply via email to