[PATCH] Drop superfluous conditionals around g_free()

Markus Armbruster posted 1 patch 3 years, 4 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20220923090428.93529-1-armbru@redhat.com
Maintainers: Pavel Dovgalyuk <pavel.dovgaluk@ispras.ru>, Paolo Bonzini <pbonzini@redhat.com>, Marcelo Tosatti <mtosatti@redhat.com>, Sunil Muthuswamy <sunilmut@microsoft.com>
replay/replay.c             |  6 ++----
target/i386/kvm/kvm.c       | 12 ++++--------
target/i386/whpx/whpx-all.c | 14 ++++++--------
3 files changed, 12 insertions(+), 20 deletions(-)
[PATCH] Drop superfluous conditionals around g_free()
Posted by Markus Armbruster 3 years, 4 months ago
There is no need to guard g_free(P) with if (P): g_free(NULL) is safe.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
---
 replay/replay.c             |  6 ++----
 target/i386/kvm/kvm.c       | 12 ++++--------
 target/i386/whpx/whpx-all.c | 14 ++++++--------
 3 files changed, 12 insertions(+), 20 deletions(-)

diff --git a/replay/replay.c b/replay/replay.c
index 4c396bb376..9a0dc1cf44 100644
--- a/replay/replay.c
+++ b/replay/replay.c
@@ -366,10 +366,8 @@ void replay_finish(void)
         fclose(replay_file);
         replay_file = NULL;
     }
-    if (replay_filename) {
-        g_free(replay_filename);
-        replay_filename = NULL;
-    }
+    g_free(replay_filename);
+    replay_filename = NULL;
 
     g_free(replay_snapshot);
     replay_snapshot = NULL;
diff --git a/target/i386/kvm/kvm.c b/target/i386/kvm/kvm.c
index a1fd1f5379..9603bf265a 100644
--- a/target/i386/kvm/kvm.c
+++ b/target/i386/kvm/kvm.c
@@ -2176,15 +2176,11 @@ int kvm_arch_destroy_vcpu(CPUState *cs)
 
     g_free(env->xsave_buf);
 
-    if (cpu->kvm_msr_buf) {
-        g_free(cpu->kvm_msr_buf);
-        cpu->kvm_msr_buf = NULL;
-    }
+    g_free(cpu->kvm_msr_buf);
+    cpu->kvm_msr_buf = NULL;
 
-    if (env->nested_state) {
-        g_free(env->nested_state);
-        env->nested_state = NULL;
-    }
+    g_free(env->nested_state);
+    env->nested_state = NULL;
 
     qemu_del_vm_change_state_handler(cpu->vmsentry);
 
diff --git a/target/i386/whpx/whpx-all.c b/target/i386/whpx/whpx-all.c
index b22a3314b4..8e4969edeb 100644
--- a/target/i386/whpx/whpx-all.c
+++ b/target/i386/whpx/whpx-all.c
@@ -1225,14 +1225,12 @@ static void whpx_translate_cpu_breakpoints(
         }
     }
 
-    if (breakpoints->breakpoints) {
-        /*
-         * Free the previous breakpoint list. This can be optimized by keeping
-         * it as shadow buffer for the next computation instead of freeing
-         * it immediately.
-         */
-        g_free(breakpoints->breakpoints);
-    }
+    /*
+     * Free the previous breakpoint list. This can be optimized by keeping
+     * it as shadow buffer for the next computation instead of freeing
+     * it immediately.
+     */
+    g_free(breakpoints->breakpoints);
 
     breakpoints->breakpoints = new_breakpoints;
 }
-- 
2.37.2
Re: [PATCH] Drop superfluous conditionals around g_free()
Posted by Laurent Vivier 3 years, 4 months ago
Le 23/09/2022 à 11:04, Markus Armbruster a écrit :
> There is no need to guard g_free(P) with if (P): g_free(NULL) is safe.
> 
> Signed-off-by: Markus Armbruster <armbru@redhat.com>
> ---
>   replay/replay.c             |  6 ++----
>   target/i386/kvm/kvm.c       | 12 ++++--------
>   target/i386/whpx/whpx-all.c | 14 ++++++--------
>   3 files changed, 12 insertions(+), 20 deletions(-)
> 
> diff --git a/replay/replay.c b/replay/replay.c
> index 4c396bb376..9a0dc1cf44 100644
> --- a/replay/replay.c
> +++ b/replay/replay.c
> @@ -366,10 +366,8 @@ void replay_finish(void)
>           fclose(replay_file);
>           replay_file = NULL;
>       }
> -    if (replay_filename) {
> -        g_free(replay_filename);
> -        replay_filename = NULL;
> -    }
> +    g_free(replay_filename);
> +    replay_filename = NULL;
>   
>       g_free(replay_snapshot);
>       replay_snapshot = NULL;
> diff --git a/target/i386/kvm/kvm.c b/target/i386/kvm/kvm.c
> index a1fd1f5379..9603bf265a 100644
> --- a/target/i386/kvm/kvm.c
> +++ b/target/i386/kvm/kvm.c
> @@ -2176,15 +2176,11 @@ int kvm_arch_destroy_vcpu(CPUState *cs)
>   
>       g_free(env->xsave_buf);
>   
> -    if (cpu->kvm_msr_buf) {
> -        g_free(cpu->kvm_msr_buf);
> -        cpu->kvm_msr_buf = NULL;
> -    }
> +    g_free(cpu->kvm_msr_buf);
> +    cpu->kvm_msr_buf = NULL;
>   
> -    if (env->nested_state) {
> -        g_free(env->nested_state);
> -        env->nested_state = NULL;
> -    }
> +    g_free(env->nested_state);
> +    env->nested_state = NULL;
>   
>       qemu_del_vm_change_state_handler(cpu->vmsentry);
>   
> diff --git a/target/i386/whpx/whpx-all.c b/target/i386/whpx/whpx-all.c
> index b22a3314b4..8e4969edeb 100644
> --- a/target/i386/whpx/whpx-all.c
> +++ b/target/i386/whpx/whpx-all.c
> @@ -1225,14 +1225,12 @@ static void whpx_translate_cpu_breakpoints(
>           }
>       }
>   
> -    if (breakpoints->breakpoints) {
> -        /*
> -         * Free the previous breakpoint list. This can be optimized by keeping
> -         * it as shadow buffer for the next computation instead of freeing
> -         * it immediately.
> -         */
> -        g_free(breakpoints->breakpoints);
> -    }
> +    /*
> +     * Free the previous breakpoint list. This can be optimized by keeping
> +     * it as shadow buffer for the next computation instead of freeing
> +     * it immediately.
> +     */
> +    g_free(breakpoints->breakpoints);
>   
>       breakpoints->breakpoints = new_breakpoints;
>   }

Applied to my trivial-patches branch.

Thanks,
Laurent


Re: [PATCH] Drop superfluous conditionals around g_free()
Posted by Philippe Mathieu-Daudé via 3 years, 4 months ago
On Fri, Sep 23, 2022 at 11:13 AM Markus Armbruster <armbru@redhat.com> wrote:
>
> There is no need to guard g_free(P) with if (P): g_free(NULL) is safe.
>
> Signed-off-by: Markus Armbruster <armbru@redhat.com>
> ---
>  replay/replay.c             |  6 ++----
>  target/i386/kvm/kvm.c       | 12 ++++--------
>  target/i386/whpx/whpx-all.c | 14 ++++++--------
>  3 files changed, 12 insertions(+), 20 deletions(-)

Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>