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

[mini-os master] mini-os: fix double free() in xenbus



commit c7f57245bff5daa133b4c8473cbf038b753496d9
Author:     Juergen Gross <jgross@xxxxxxxx>
AuthorDate: Thu Apr 9 16:12:39 2020 +0200
Commit:     Wei Liu <liuw@xxxxxxxxx>
CommitDate: Thu Apr 9 15:40:27 2020 +0100

    mini-os: fix double free() in xenbus
    
    Commit 973ad0c4de1b48 ("Save/Restore Support: Add suspend/restore
    support for xenbus") introduced a double free of some memory and leaked
    another memory allocation.
    
    Fix those.
    
    Coverity-ID: 1433640
    Fixes: 973ad0c4de1b48 ("Save/Restore Support: Add suspend/restore support 
for xenbus")
    Signed-off-by: Juergen Gross <jgross@xxxxxxxx>
    Acked-by: Wei Liu <wl@xxxxxxx>
    Reviewed-by: Samuel Thibault <samuel.thibault@xxxxxxxxxxxx>
---
 xenbus/xenbus.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/xenbus/xenbus.c b/xenbus/xenbus.c
index d72dc3a..b12cef7 100644
--- a/xenbus/xenbus.c
+++ b/xenbus/xenbus.c
@@ -413,9 +413,11 @@ void resume_xenbus(int canceled)
 
             rep = xenbus_msg_reply(XS_WATCH, XBT_NIL, req, ARRAY_SIZE(req));
             msg = errmsg(rep);
-            if (msg)
+            if (msg) {
                 xprintk("error on XS_WATCH: %s\n", msg);
-            free(rep);
+                free(msg);
+            } else
+                free(rep);
         }
     }
 
--
generated by git-patchbot for /home/xen/git/mini-os.git#master



 


Rackspace

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