From c55d4505e354c203473f1532f785842ea16a16a6 Mon Sep 17 00:00:00 2001 From: Markus Elfring Date: Sat, 24 Jan 2015 20:38:49 +0100 Subject: [PATCH] Bug #158: Deletion of unnecessary checks before a few calls of LXC functions MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The following functions return immediately if a null pointer was passed. * container_destroy * lxc_cgroup_process_info_free_and_remove * lxc_cgroup_put_meta * toss_list It is therefore not needed that a function caller repeats a corresponding check. This issue was fixed by using the software Coccinelle 1.0.0-rc23. Signed-off-by: Markus Elfring Acked-by: Stéphane Graber --- src/lxc/cgfs.c | 6 ++---- src/lxc/lxc_autostart.c | 8 ++------ src/lxc/lxccontainer.c | 2 +- 3 files changed, 5 insertions(+), 11 deletions(-) diff --git a/src/lxc/cgfs.c b/src/lxc/cgfs.c index e63978aba..8ff3fb3f5 100644 --- a/src/lxc/cgfs.c +++ b/src/lxc/cgfs.c @@ -2248,10 +2248,8 @@ static void cgfs_destroy(void *hdata) if (!d) return; free(d->name); - if (d->info) - lxc_cgroup_process_info_free_and_remove(d->info); - if (d->meta) - lxc_cgroup_put_meta(d->meta); + lxc_cgroup_process_info_free_and_remove(d->info); + lxc_cgroup_put_meta(d->meta); free(d); } diff --git a/src/lxc/lxc_autostart.c b/src/lxc/lxc_autostart.c index 1959e61bc..f5b9e32f9 100644 --- a/src/lxc/lxc_autostart.c +++ b/src/lxc/lxc_autostart.c @@ -482,7 +482,7 @@ int main(int argc, char *argv[]) if ( lxc_container_put(c) > 0 ) { containers[i] = NULL; } - if ( c_groups_lists && c_groups_lists[i] ) { + if ( c_groups_lists ) { toss_list(c_groups_lists[i]); c_groups_lists[i] = NULL; } @@ -501,11 +501,7 @@ int main(int argc, char *argv[]) } free(c_groups_lists); - - if ( cmd_groups_list ) { - toss_list( cmd_groups_list ); - } - + toss_list( cmd_groups_list ); free(containers); return 0; diff --git a/src/lxc/lxccontainer.c b/src/lxc/lxccontainer.c index ee73b64c9..c7c4cf8a2 100644 --- a/src/lxc/lxccontainer.c +++ b/src/lxc/lxccontainer.c @@ -1378,7 +1378,7 @@ out_unlock: if (partial_fd >= 0) remove_partial(c, partial_fd); out: - if (!ret && c) + if (!ret) container_destroy(c); free_tpath: free(tpath);