Opendir() returns allocated storage which must be freed at the end of function or in case any return on error. so freeing the allocation using closedir in an error case.
Coverity issue: 323507 Coverity issue: 325880 Fixes: e7a45f3cc245 ("crypto/caam_jr: add UIO specific operations") Cc: g.si...@nxp.com Signed-off-by: Gagandeep Singh <g.si...@nxp.com> --- drivers/crypto/caam_jr/caam_jr_uio.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/drivers/crypto/caam_jr/caam_jr_uio.c b/drivers/crypto/caam_jr/caam_jr_uio.c index bf872a2..afd75c9 100644 --- a/drivers/crypto/caam_jr/caam_jr_uio.c +++ b/drivers/crypto/caam_jr/caam_jr_uio.c @@ -362,8 +362,8 @@ job_ring->register_base_addr, (unsigned long)job_ring->map_size, strerror(errno)); } else - CAAM_JR_DEBUG(" JR UIO memory unmapped at %p", - job_ring->register_base_addr); + CAAM_JR_DEBUG("JR UIO memory is unmapped"); + job_ring->register_base_addr = NULL; } @@ -445,7 +445,11 @@ uio_job_ring *config_job_ring(void) ret = file_read_first_line(SEC_UIO_DEVICE_SYS_ATTR_PATH, dir->d_name, "name", uio_name); CAAM_JR_INFO("sec device uio name: %s", uio_name); - SEC_ASSERT(ret == 0, -1, "file_read_first_line failed"); + if (ret != 0) { + CAAM_JR_ERR("file_read_first_line failed\n"); + closedir(d); + return -1; + } if (file_name_match_extract(uio_name, SEC_UIO_DEVICE_NAME, -- 1.9.1