[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen master] tools/libxl: Fix free() of wild pointer in libxl__initiate_device_remove()
commit ddb4aa5dfa13781e8f31ba20923c14c1a083ce83 Author: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> AuthorDate: Wed Jun 18 19:04:14 2014 +0100 Commit: Ian Jackson <Ian.Jackson@xxxxxxxxxxxxx> CommitDate: Mon Jun 23 18:10:58 2014 +0100 tools/libxl: Fix free() of wild pointer in libxl__initiate_device_remove() libxl__initiate_device_remove() had a preexisting error path issue where libxl_dominfo_dispose() could be called on a libxl_dominfo object before it had been initialised with libxl_dominfo_init(). This was safe until c/s ab44401 added the pointer ssid_label, which point libxl_dominfo_dispose() free()s. Unconditionally initialise info in libxl__initiate_device_remove() before taking an error path which will free it. Coverity-ID: 1223212 Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> CC: Wei Liu <wei.liu2@xxxxxxxxxx> CC: Ian Campbell <Ian.Campbell@xxxxxxxxxx> CC: Ian Jackson <Ian.Jackson@xxxxxxxxxxxxx> --- tools/libxl/libxl_device.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c index 90ae564..788895b 100644 --- a/tools/libxl/libxl_device.c +++ b/tools/libxl/libxl_device.c @@ -772,6 +772,8 @@ void libxl__initiate_device_remove(libxl__egc *egc, uint32_t my_domid, domid = aodev->dev->domid; int rc = 0; + libxl_dominfo_init(&info); + rc = libxl__get_domid(gc, &my_domid); if (rc) { LOG(ERROR, "unable to get my domid"); @@ -779,7 +781,6 @@ void libxl__initiate_device_remove(libxl__egc *egc, } if (my_domid == LIBXL_TOOLSTACK_DOMID) { - libxl_dominfo_init(&info); rc = libxl_domain_info(CTX, &info, domid); if (rc) { LOG(ERROR, "unable to get info for domain %d", domid); -- generated by git-patchbot for /home/xen/git/xen.git#master _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |