Blob Blame History Raw
From 0b243aef3307a07fd12171dc82ee3d3b867c3f49 Mon Sep 17 00:00:00 2001
From: Cathy Avery <cavery@redhat.com>
Date: Thu, 25 Jul 2019 12:32:35 +0200
Subject: [PATCH 12/16] Fix [RH Covscan] Coverity reported memory leaks in
 toolboxcmd-stat.c.

RH-Author: Cathy Avery <cavery@redhat.com>
Message-id: <20190725123239.18274-13-cavery@redhat.com>
Patchwork-id: 89724
O-Subject: [RHEL8.1 open-vm-tools PATCH 12/16] Fix [RH Covscan] Coverity reported memory leaks in toolboxcmd-stat.c.
Bugzilla: 1602648
RH-Acked-by: Vitaly Kuznetsov <vkuznets@redhat.com>
RH-Acked-by: Miroslav Rezanina <mrezanin@redhat.com>

commit 46cb6aa361cc8b1d287e3b9b77bf86819b4b1fc5
Author: Oliver Kurth <okurth@vmware.com>
Date:   Wed May 22 13:09:37 2019 -0700

    Fix [RH Covscan] Coverity reported memory leaks in toolboxcmd-stat.c.

Signed-off-by: Cathy Avery <cavery@redhat.com>
Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
---
 open-vm-tools/toolbox/toolboxcmd-stat.c | 19 +++++++++++--------
 1 file changed, 11 insertions(+), 8 deletions(-)

diff --git a/toolbox/toolboxcmd-stat.c b/toolbox/toolboxcmd-stat.c
index 764e4ae..cdd3a70 100644
--- a/toolbox/toolboxcmd-stat.c
+++ b/toolbox/toolboxcmd-stat.c
@@ -1,5 +1,5 @@
 /*********************************************************
- * Copyright (C) 2008-2016 VMware, Inc. All rights reserved.
+ * Copyright (C) 2008-2016,2019 VMware, Inc. All rights reserved.
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU Lesser General Public License as published
@@ -56,6 +56,7 @@ OpenHandle(VMGuestLibHandle *glHandle, // OUT: The guestlib handle
       ToolsCmd_PrintErr(SU_(stat.openhandle.failed,
                             "OpenHandle failed: %s\n"),
                         VMGuestLib_GetErrorText(*glError));
+      *glHandle = NULL;
       return EX_UNAVAILABLE;
    }
    *glError = VMGuestLib_UpdateInfo(*glHandle);
@@ -63,6 +64,8 @@ OpenHandle(VMGuestLibHandle *glHandle, // OUT: The guestlib handle
       ToolsCmd_PrintErr(SU_(stat.update.failed,
                             "UpdateInfo failed: %s\n"),
                         VMGuestLib_GetErrorText(*glError));
+      VMGuestLib_CloseHandle(*glHandle);
+      *glHandle = NULL;
       return EX_TEMPFAIL;
    }
    return 0;  // We don't return EXIT_SUCCESSS to indicate that this is not
@@ -192,7 +195,7 @@ StatHostTime(void)
 static int
 StatGetSessionID(void)
 {
-   int exitStatus = EXIT_SUCCESS;
+   int exitStatus;
    uint64 session;
    VMGuestLibHandle glHandle;
    VMGuestLibError glError;
@@ -236,7 +239,7 @@ StatGetSessionID(void)
 static int
 StatGetMemoryBallooned(void)
 {
-   int exitStatus = EXIT_SUCCESS;
+   int exitStatus;
    uint32 memBallooned;
    VMGuestLibHandle glHandle;
    VMGuestLibError glError;
@@ -280,7 +283,7 @@ StatGetMemoryBallooned(void)
 static int
 StatGetMemoryReservation(void)
 {
-   int exitStatus = EXIT_SUCCESS;
+   int exitStatus;
    uint32  memReservation;
    VMGuestLibHandle glHandle;
    VMGuestLibError glError;
@@ -325,7 +328,7 @@ StatGetMemoryReservation(void)
 static int
 StatGetMemorySwapped(void)
 {
-   int exitStatus = EXIT_SUCCESS;
+   int exitStatus;
    uint32 memSwapped;
    VMGuestLibHandle glHandle;
    VMGuestLibError glError;
@@ -369,7 +372,7 @@ StatGetMemorySwapped(void)
 static int
 StatGetMemoryLimit(void)
 {
-   int exitStatus = EXIT_SUCCESS;
+   int exitStatus;
    uint32 memLimit;
    VMGuestLibHandle glHandle;
    VMGuestLibError glError;
@@ -413,7 +416,7 @@ StatGetMemoryLimit(void)
 static int
 StatGetCpuReservation(void)
 {
-   int exitStatus = EXIT_SUCCESS;
+   int exitStatus;
    uint32 cpuReservation;
    VMGuestLibHandle glHandle;
    VMGuestLibError glError;
@@ -457,7 +460,7 @@ StatGetCpuReservation(void)
 static int
 StatGetCpuLimit(void)
 {
-   int exitStatus = EXIT_SUCCESS;
+   int exitStatus;
    uint32 cpuLimit;
    VMGuestLibHandle glHandle;
    VMGuestLibError glError;
-- 
1.8.3.1