From d6257bb7ac662567376090eaef6be4e7d5605b9d Mon Sep 17 00:00:00 2001 From: kalathik Date: Thu, 5 May 2022 18:46:16 +0530 Subject: [PATCH] sr100: Add NULL pointer checks D35 handles NULL check on device release scenarios to avoid leak... Propagate_From (CR) Change-Id: I3a0ba408dafdcf6d34692b45612055f107c6be44 Signed-off-by: Kanagarathina Kalathi Signed-off-by: Srihari Sathyanarayana Reviewed-on: https://gerrit.mot.com/2468580 SME-Granted: SME Approvals Granted SLTApproved: Slta Waiver Tested-by: Jira Key Reviewed-by: Vijayakumar Gn Reviewed-by: Tao Sun Submit-Approved: Jira Key --- drivers/uwb/sr100/sr100.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/drivers/uwb/sr100/sr100.c b/drivers/uwb/sr100/sr100.c index b341f59ca9e1..b7b107e21d11 100644 --- a/drivers/uwb/sr100/sr100.c +++ b/drivers/uwb/sr100/sr100.c @@ -1068,13 +1068,15 @@ exit_free_dev: if (sr100_dev->rx_buffer) { kfree(sr100_dev->rx_buffer); } - kfree(sr100_dev); + misc_deregister(&sr100_dev->sr100_device); } - misc_deregister(&sr100_dev->sr100_device); err_exit0: - mutex_destroy(&sr100_dev->sr100_access_lock); if (sr100_dev != NULL) kfree(sr100_dev); + if (sr100_dev != NULL) { + mutex_destroy(&sr100_dev->sr100_access_lock); + } err_exit: + if (sr100_dev != NULL) kfree(sr100_dev); SR100_DBG_MSG("ERROR: Exit : %s ret %d\n", __FUNCTION__, ret); return ret; } @@ -1104,9 +1106,11 @@ static int sr100_remove(struct spi_device* spi) { gpio_free(sr100_dev->vbat_3v6_gpio); #endif misc_deregister(&sr100_dev->sr100_device); - if (sr100_dev->tx_buffer != NULL) kfree(sr100_dev->tx_buffer); - if (sr100_dev->rx_buffer != NULL) kfree(sr100_dev->rx_buffer); - if (sr100_dev != NULL) kfree(sr100_dev); + if (sr100_dev != NULL) { + if (sr100_dev->tx_buffer != NULL) kfree(sr100_dev->tx_buffer); + if (sr100_dev->rx_buffer != NULL) kfree(sr100_dev->rx_buffer); + if (sr100_dev != NULL) kfree(sr100_dev); + } SR100_DBG_MSG("Exit : %s\n", __FUNCTION__); return 0; }