[lvm-devel] [PATCH] clvmd.c: Remove redundant if-before-free tests.
Jim Meyering
jim at meyering.net
Thu Feb 14 13:07:55 UTC 2008
Since "free (NULL);" is universally safe these days, I propose
to remove all of lvm's redundant "if-before-free" tests.
There are only 5. If no one objects, I'll commit it tonight.
In case you need more justification than "POSIX requires it",
(understandable, that :-), the following was enough for Wine
development a year and a half ago:
http://www.winehq.org/pipermail/wine-patches/2006-October/031544.html
Sure, the extra test is not a big deal, but removing it does make the
code slightly smaller, and maybe even more readable (people won't wonder
about the test of such a pointer, when they know that free can handle
a NULL pointer).
The changes in the patch below were created by running this command
after a fresh "clone":
find . -name '*.c' -print0 | xargs -0 perl -0x3b -pi -e \
's/\bif\s*\(\s*(\S+?)(?:\s*!=\s*NULL)?\s*\)\s+(free\s*\(\s*\1\s*\))/$2/s'
diff --git a/daemons/clvmd/clvmd.c b/daemons/clvmd/clvmd.c
index 574010f..14ee1c6 100644
--- a/daemons/clvmd/clvmd.c
+++ b/daemons/clvmd/clvmd.c
@@ -903,8 +903,7 @@ static int read_from_local_sock(struct local_client *thisfd)
}
/* Free the command buffer */
- if (thisfd->bits.localsock.cmd)
- free(thisfd->bits.localsock.cmd);
+ free(thisfd->bits.localsock.cmd);
/* Clear out the cross-link */
if (thisfd->bits.localsock.pipe_client != NULL)
@@ -939,8 +938,7 @@ static int read_from_local_sock(struct local_client *thisfd)
}
/* Free any old buffer space */
- if (thisfd->bits.localsock.cmd)
- free(thisfd->bits.localsock.cmd);
+ free(thisfd->bits.localsock.cmd);
/* See if we have the whole message */
argslen =
@@ -1547,8 +1545,7 @@ static void send_local_reply(struct local_client *client, int status, int fd)
}
thisreply = thisreply->next;
- if (tempreply->replymsg)
- free(tempreply->replymsg);
+ free(tempreply->replymsg);
free(tempreply);
}
@@ -1579,8 +1576,7 @@ static void free_reply(struct local_client *client)
thisreply = thisreply->next;
- if (tempreply->replymsg)
- free(tempreply->replymsg);
+ free(tempreply->replymsg);
free(tempreply);
}
client->bits.localsock.replies = NULL;
@@ -1732,8 +1728,7 @@ static __attribute__ ((noreturn)) void *lvm_thread_fn(void *arg)
pthread_mutex_unlock(&lvm_thread_mutex);
process_work_item(cmd);
- if (cmd->msg)
- free(cmd->msg);
+ free(cmd->msg);
free(cmd);
pthread_mutex_lock(&lvm_thread_mutex);
--
1.5.4.1.98.gf3293
More information about the lvm-devel
mailing list