From 906421edbe2562d3214f55553bee8b48e618486a Mon Sep 17 00:00:00 2001 From: Mukesh Ojha Date: Mon, 19 Oct 2020 12:38:48 +0530 Subject: [PATCH] qcom: wdog: fix static analyzer reported issue in watchdog core Code static analyzer reports 'pivot' variable is uninitialized. Let's fix this by initializing it with NULL and add necessary checks. Change-Id: I2aa521002ea55fa1e44b3ce17262a9093dd130a0 Signed-off-by: Mukesh Ojha --- drivers/soc/qcom/qcom_wdt_core.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/drivers/soc/qcom/qcom_wdt_core.c b/drivers/soc/qcom/qcom_wdt_core.c index 59ce802cc169..a50b18e30cab 100644 --- a/drivers/soc/qcom/qcom_wdt_core.c +++ b/drivers/soc/qcom/qcom_wdt_core.c @@ -81,7 +81,7 @@ static struct qcom_irq_info *search(struct qcom_irq_info *key, struct qcom_irq_info *base, size_t num, compare_t cmp) { - struct qcom_irq_info *pivot; + struct qcom_irq_info *pivot = NULL; int result; while (num > 0) { @@ -101,6 +101,10 @@ static struct qcom_irq_info *search(struct qcom_irq_info *key, } out: + if (pivot) + pr_debug("*pivot:%u key:%u\n", + pivot->total_count, key->total_count); + return pivot; } @@ -184,9 +188,6 @@ static void compute_irq_stat(struct work_struct *work) pos = search(&key, wdog_dd->irq_counts, arr_size, cmp_irq_info_fn); - pr_debug("*pos:%u key:%u\n", - pos->total_count, key.total_count); - if (pos && (pos->total_count >= key.total_count)) { if (pos < start) pos++;