[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] [xen master] mini-os: fix various memory leaks in various locations



commit 6ea48409238672ed1e08cf8fa2cc8593e36a363a
Author:     Matthew Daley <mattjd@xxxxxxxxx>
AuthorDate: Wed Sep 18 15:38:03 2013 +1200
Commit:     Ian Campbell <ian.campbell@xxxxxxxxxx>
CommitDate: Sat Sep 21 16:43:04 2013 +0100

    mini-os: fix various memory leaks in various locations
    
    Coverity-ID: 1055827
    Coverity-ID: 1055828
    Coverity-ID: 1055829
    Coverity-ID: 1055830
    Coverity-ID: 1055831
    Signed-off-by: Matthew Daley <mattjd@xxxxxxxxx>
    Acked-by: Samuel Thibault <samuel.thibault@xxxxxxxxxxxx>
---
 extras/mini-os/kernel.c |    7 +++++--
 extras/mini-os/lib/xs.c |    2 ++
 2 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/extras/mini-os/kernel.c b/extras/mini-os/kernel.c
index e9402b9..24fa25c 100644
--- a/extras/mini-os/kernel.c
+++ b/extras/mini-os/kernel.c
@@ -84,8 +84,10 @@ static void shutdown_thread(void *p)
         free(err);
         xenbus_wait_for_watch(&events);
     }
-    xenbus_unwatch_path_token(XBT_NIL, path, token);
-    xenbus_write(XBT_NIL, path, "");
+    err = xenbus_unwatch_path_token(XBT_NIL, path, token);
+    if (err) free(err);
+    err = xenbus_write(XBT_NIL, path, "");
+    if (err) free(err);
     printk("Shutting down (%s)\n", shutdown);
 
     if (!strcmp(shutdown, "poweroff"))
@@ -96,6 +98,7 @@ static void shutdown_thread(void *p)
         /* Unknown */
         shutdown_reason = SHUTDOWN_crash;
     app_shutdown(shutdown_reason);
+    free(shutdown);
 }
 #endif
 
diff --git a/extras/mini-os/lib/xs.c b/extras/mini-os/lib/xs.c
index c603d17..324bd05 100644
--- a/extras/mini-os/lib/xs.c
+++ b/extras/mini-os/lib/xs.c
@@ -144,6 +144,7 @@ char **xs_directory(struct xs_handle *h, xs_transaction_t t,
     msg = xenbus_ls(t, path, &res);
     if (msg) {
        printk("xs_directory(%s): %s\n", path, msg);
+       free(msg);
        return NULL;
     }
 
@@ -163,6 +164,7 @@ char **xs_directory(struct xs_handle *h, xs_transaction_t t,
     }
 
     *num = n;
+    free(res);
     return entries;
 }
 
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.