From 85da6194ea6777dc840dc7c9e6770043e9633674 Mon Sep 17 00:00:00 2001 From: Nicolas Iooss Date: Tue, 28 Mar 2017 23:41:51 +0200 Subject: [PATCH] libsemanage: do not dereference a NULL pointer when calloc() fails If "names = calloc(num_modinfos, sizeof(*names))" fails in semanage_get_cil_paths(), the function tries to frees items in array "names" even though it is NULL. Avoid this by returning directly. This issue has been found using clang's static analyzer. Signed-off-by: Nicolas Iooss --- libsemanage/src/semanage_store.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/libsemanage/src/semanage_store.c b/libsemanage/src/semanage_store.c index 47ec9318..bf1a4483 100644 --- a/libsemanage/src/semanage_store.c +++ b/libsemanage/src/semanage_store.c @@ -1012,8 +1012,7 @@ int semanage_get_cil_paths(semanage_handle_t * sh, names = calloc(num_modinfos, sizeof(*names)); if (names == NULL) { ERR(sh, "Error allocating space for filenames."); - status = -1; - goto cleanup; + return -1; } for (i = 0; i < num_modinfos; i++) {