diff mbox

[for,1.2] qemu-ga: Fix null pointer passed to unlink in failure branch

Message ID 1345784583-25640-1-git-send-email-sw@weilnetz.de
State Accepted
Headers show

Commit Message

Stefan Weil Aug. 24, 2012, 5:03 a.m. UTC
Clang reports this warning:

Null pointer passed as an argument to a 'nonnull' parameter

Signed-off-by: Stefan Weil <sw@weilnetz.de>
---
 qemu-ga.c |    4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

Comments

Stefan Hajnoczi Aug. 24, 2012, 11:29 a.m. UTC | #1
On Fri, Aug 24, 2012 at 07:03:03AM +0200, Stefan Weil wrote:
> Clang reports this warning:
> 
> Null pointer passed as an argument to a 'nonnull' parameter
> 
> Signed-off-by: Stefan Weil <sw@weilnetz.de>
> ---
>  qemu-ga.c |    4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)

Nice, this looks like a legitimate bug that was detected by clang.  We
call become_daemon(NULL).

Thanks, applied to the trivial patches tree:
https://github.com/stefanha/qemu/commits/trivial-patches

Stefan
Luiz Capitulino Aug. 24, 2012, 1:48 p.m. UTC | #2
On Fri, 24 Aug 2012 07:03:03 +0200
Stefan Weil <sw@weilnetz.de> wrote:

> Clang reports this warning:
> 
> Null pointer passed as an argument to a 'nonnull' parameter
> 
> Signed-off-by: Stefan Weil <sw@weilnetz.de>

Reviewed-by: Luiz Capitulino <lcapitulino@redhat.com>

> ---
>  qemu-ga.c |    4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/qemu-ga.c b/qemu-ga.c
> index 26671fe..7623079 100644
> --- a/qemu-ga.c
> +++ b/qemu-ga.c
> @@ -438,7 +438,9 @@ static void become_daemon(const char *pidfile)
>      return;
>  
>  fail:
> -    unlink(pidfile);
> +    if (pidfile) {
> +        unlink(pidfile);
> +    }
>      g_critical("failed to daemonize");
>      exit(EXIT_FAILURE);
>  #endif
diff mbox

Patch

diff --git a/qemu-ga.c b/qemu-ga.c
index 26671fe..7623079 100644
--- a/qemu-ga.c
+++ b/qemu-ga.c
@@ -438,7 +438,9 @@  static void become_daemon(const char *pidfile)
     return;
 
 fail:
-    unlink(pidfile);
+    if (pidfile) {
+        unlink(pidfile);
+    }
     g_critical("failed to daemonize");
     exit(EXIT_FAILURE);
 #endif