From 3bb985314d0563857c84beef0097ffc8de2d9438 Mon Sep 17 00:00:00 2001 From: michael-grunder Date: Tue, 21 Jul 2020 15:39:40 -0700 Subject: [PATCH] Fix a static analysis false positive Static analyzer's can't tell that hi_calloc is calloc-like, and report a potential null pointer dereference. This isn't possible but it's probably smarter to make the test anyway in the event code changes. --- read.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/read.c b/read.c index 544626e..0952469 100644 --- a/read.c +++ b/read.c @@ -641,13 +641,14 @@ void redisReaderFree(redisReader *r) { if (r->reply != NULL && r->fn && r->fn->freeObject) r->fn->freeObject(r->reply); - /* We know r->task[i] is allocatd if i < r->tasks */ - for (int i = 0; i < r->tasks; i++) { - hi_free(r->task[i]); - } + if (r->task) { + /* We know r->task[i] is allocated if i < r->tasks */ + for (int i = 0; i < r->tasks; i++) { + hi_free(r->task[i]); + } - if (r->task) hi_free(r->task); + } sdsfree(r->buf); hi_free(r);