From 0f6cb93a0910de6e142971b81d3717c26d94e860 Mon Sep 17 00:00:00 2001 From: Markus Elfring Date: Thu, 21 Aug 2014 20:51:02 +0200 Subject: Bug #165: Deletion of unnecessary null pointer checks The function "free" performs input parameter validation. http://pubs.opengroup.org/onlinepubs/9699919799/functions/free.html It is therefore not needed to check a passed pointer before this function call. A corresponding update suggestion was generated by the software "Coccinelle" from the following semantic patch approach. http://coccinelle.lip6.fr/ @Remove_unnecessary_pointer_checks1@ expression x; @@ -if (x != \(0 \| NULL\)) free(x); @Remove_unnecessary_pointer_checks2@ expression x; @@ -if (x != \(0 \| NULL\)) { free(x); x = \(0 \| NULL\); -} @Remove_unnecessary_pointer_checks3@ expression a, b; @@ -if (a != \(0 \| NULL\) && b != \(0 \| NULL\)) +if (a) free(b); @Remove_unnecessary_pointer_checks4@ expression a, b; @@ -if (a != \(0 \| NULL\) && b != \(0 \| NULL\)) { +if (a) { free(b); b = \(0 \| NULL\); } Signed-off-by: Markus Elfring --- thumbs.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) (limited to 'thumbs.c') diff --git a/thumbs.c b/thumbs.c index ea91292..3f13af0 100644 --- a/thumbs.c +++ b/thumbs.c @@ -176,8 +176,7 @@ void tns_init(tns_t *tns, const fileinfo_t *files, int cnt, int *sel, win_t *win dsuffix = "/.cache"; } if (homedir != NULL) { - if (cache_dir != NULL) - free(cache_dir); + free(cache_dir); len = strlen(homedir) + strlen(dsuffix) + 6; cache_dir = (char*) s_malloc(len); snprintf(cache_dir, len, "%s%s/sxiv", homedir, dsuffix); @@ -204,10 +203,8 @@ void tns_free(tns_t *tns) tns->thumbs = NULL; } - if (cache_dir != NULL) { - free(cache_dir); - cache_dir = NULL; - } + free(cache_dir); + cache_dir = NULL; } bool tns_load(tns_t *tns, int n, bool force) -- cgit v1.2.3-54-g00ecf