In test_attr_types, the pointer decl is allowed to be NULL in the beginning, but is dereferenced to produce a helpful message right before a CU_ASSERT_FATAL. Make this derefence not happen if the pointer is NULL. This issue has been found using clang's static analyzer. Signed-off-by: Nicolas Iooss <nicolas.iooss@xxxxxxx> --- libsepol/tests/test-common.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/libsepol/tests/test-common.c b/libsepol/tests/test-common.c index e6619ed1d152..1d902880fe2e 100644 --- a/libsepol/tests/test-common.c +++ b/libsepol/tests/test-common.c @@ -228,13 +228,16 @@ void test_attr_types(policydb_t * p, const char *id, avrule_decl_t * decl, const unsigned int i; type_datum_t *attr; - if (decl) + if (decl) { attr = hashtab_search(decl->p_types.table, id); - else + if (attr == NULL) + printf("could not find attr %s in decl %d\n", id, decl->decl_id); + } else { attr = hashtab_search(p->p_types.table, id); + if (attr == NULL) + printf("could not find attr %s in policy\n", id); + } - if (attr == NULL) - printf("could not find attr %s in decl %d\n", id, decl->decl_id); CU_ASSERT_FATAL(attr != NULL); CU_ASSERT(attr->flavor == TYPE_ATTRIB); CU_ASSERT(attr->primary == 1); -- 2.22.0