[PATCH 1/1] fix if(p)/free(p) construct

Maninder Singh maninder1.s at samsung.com
Mon Jun 1 10:38:07 UTC 2015


No need of explicit NULL check before free.

Signed-off-by: Maninder Singh <maninder1.s at samsung.com>
Signed-off-by: Akhilesh Kumar <akhilesh.k at samsung.com>
---
 e2fsprogs/old_e2fsprogs/blkid/dev.c |    3 +--
 e2fsprogs/old_e2fsprogs/fsck.c      |   12 ++++--------
 scripts/kconfig/confdata.c          |    3 +--
 scripts/kconfig/util.c              |    3 +--
 4 files changed, 7 insertions(+), 14 deletions(-)

diff --git a/e2fsprogs/old_e2fsprogs/blkid/dev.c b/e2fsprogs/old_e2fsprogs/blkid/dev.c
index 84b7b0a..c2bbb06 100644
--- a/e2fsprogs/old_e2fsprogs/blkid/dev.c
+++ b/e2fsprogs/old_e2fsprogs/blkid/dev.c
@@ -44,8 +44,7 @@ void blkid_free_dev(blkid_dev dev)
 					   bit_tags);
 		blkid_free_tag(tag);
 	}
-	if (dev->bid_name)
-		free(dev->bid_name);
+	free(dev->bid_name);
 	free(dev);
 }
 
diff --git a/e2fsprogs/old_e2fsprogs/fsck.c b/e2fsprogs/old_e2fsprogs/fsck.c
index 91cce97..87874ce 100644
--- a/e2fsprogs/old_e2fsprogs/fsck.c
+++ b/e2fsprogs/old_e2fsprogs/fsck.c
@@ -354,12 +354,9 @@ static void parse_escape(char *word)
 
 static void free_instance(struct fsck_instance *i)
 {
-	if (i->prog)
-		free(i->prog);
-	if (i->device)
-		free(i->device);
-	if (i->base_device)
-		free(i->base_device);
+	free(i->prog);
+	free(i->device);
+	free(i->base_device);
 	free(i);
 }
 
@@ -432,8 +429,7 @@ static int parse_fstab_line(char *line, struct fs_info **ret_fs)
 	fs = create_fs_device(device, mntpnt, type ? type : "auto", opts,
 			      freq ? atoi(freq) : -1,
 			      passno ? atoi(passno) : -1);
-	if (dev)
-		free(dev);
+	free(dev);
 
 	if (!fs)
 		return -1;
diff --git a/scripts/kconfig/confdata.c b/scripts/kconfig/confdata.c
index 303df0b..8f4ecbd 100644
--- a/scripts/kconfig/confdata.c
+++ b/scripts/kconfig/confdata.c
@@ -124,8 +124,7 @@ int conf_read_simple(const char *name)
 		case S_INT:
 		case S_HEX:
 		case S_STRING:
-			if (sym->user.val)
-				free(sym->user.val);
+			free(sym->user.val);
 		default:
 			sym->user.val = NULL;
 			sym->user.tri = no;
diff --git a/scripts/kconfig/util.c b/scripts/kconfig/util.c
index 2630919..13369e6 100644
--- a/scripts/kconfig/util.c
+++ b/scripts/kconfig/util.c
@@ -79,8 +79,7 @@ struct gstr str_assign(const char *s)
 /* Free storage for growable string */
 void str_free(struct gstr *gs)
 {
-	if (gs->s)
-		free(gs->s);
+	free(gs->s);
 	gs->s = NULL;
 	gs->len = 0;
 }
-- 
1.7.1

Thanks 
Maninder Singh


More information about the busybox mailing list