Libvirt provides a portable, long term stable C API for managing the virtualization technologies provided by many operating systems. It includes support for QEMU, KVM, Xen, LXC, bhyve, Virtuozzo, VMware vCenter and ESX, VMware Desktop, Hyper-V, VirtualBox and the POWER Hypervisor.
Go to file
Daniel Veillard 675464b183 Fix crash on events due to allocation errors
remoteRelayDomainEventBlockJob, remoteRelayDomainEventIOError,
remoteRelayDomainEventIOErrorReason and remoteRelayDomainEventGraphics
were using const string directly in rpc structure, before calling
remoteDispatchDomainEventSend(). But that routine now frees up all
the pointed allocated memory from the rpc structure and we end up
with a double free.
This now strdup() all the strings passed and provide mem_error goto
labels to be used when an allocation error occurs.
Note that the cleanup isn't completely finished because all relaying
function also call make_nonnull_domain() which also allocate a string
and never handle the error case. This patches doesn't try to address
this as this is only error correctness a priori and touches far more
functions in this module:

* daemon/remote.c: fix string allocations and memory error handling
  for remoteRelayDomainEventBlockJob, remoteRelayDomainEventIOError,
  remoteRelayDomainEventIOErrorReason and remoteRelayDomainEventGraphics
2011-09-20 11:51:50 +08:00
.gnulib@da1717b7f9 maint: update to latest gnulib 2011-09-08 14:36:46 +01:00
daemon Fix crash on events due to allocation errors 2011-09-20 11:51:50 +08:00
docs Remove two references to files not generated 2011-09-14 22:57:46 +08:00
examples snapshot: better events when starting paused 2011-09-02 10:00:06 -06:00
gnulib freebsd: Fix build problem due to picking up the wrong libvirt.h 2011-07-29 07:35:54 -06:00
include qemu: Introduce shutdown reason for paused state 2011-09-16 17:25:55 +02:00
m4 tests: Lower stack usage below 4096 bytes 2011-04-30 19:59:52 +02:00
po hyperv: Add basic driver for Microsoft Hyper-V 2011-08-26 17:52:55 +02:00
python python: Fix bindings generated in VPATH build 2011-09-16 17:07:57 +02:00
src Update to require sanlock 1.8 for license compliance 2011-09-20 11:18:54 +08:00
tests Prevent crash from dlclose() of libvirt.so 2011-09-16 15:51:31 -06:00
tools virsh: tweak previous domblkstat patch 2011-09-19 17:54:05 -06:00
.dir-locals.el maint: let emacs avoid tabs in rng files 2011-08-13 08:56:26 -06:00
.gitignore Prevent crash from dlclose() of libvirt.so 2011-09-16 15:51:31 -06:00
.gitmodules make .gnulib a submodule 2009-07-08 16:17:51 +02:00
.mailmap maint: Prefer names over email in 'git shortlog' 2011-09-19 16:34:10 -06:00
AUTHORS virnetsocket: Pass KRB5CCNAME env variable 2011-09-09 15:59:26 +02:00
autobuild.sh Remove the Open Nebula driver 2011-03-28 14:09:11 +01:00
autogen.sh build: avoid problems with autogen.sh runs from tarball 2011-02-12 06:28:28 -07:00
bootstrap build: fix compilation on mingw64 2011-08-19 07:20:10 -06:00
bootstrap.conf build: work around lack of MacOS fdatasync 2011-09-16 17:42:28 -06:00
cfg.mk Prevent crash from dlclose() of libvirt.so 2011-09-16 15:51:31 -06:00
ChangeLog-old generate ChangeLog from git logs into distribution tarball 2009-07-08 16:17:51 +02:00
configure.ac Update to require sanlock 1.8 for license compliance 2011-09-20 11:18:54 +08:00
COPYING.LIB remove all trailing blank lines 2009-07-16 15:06:42 +02:00
HACKING build: rename files.h to virfile.h 2011-07-21 10:34:51 -06:00
libvirt.pc.in * libvirt.pc.in: applied patch from Daniel Berrange to fix --cflags 2006-03-24 13:18:12 +00:00
libvirt.spec.in Update to require sanlock 1.8 for license compliance 2011-09-20 11:18:54 +08:00
Makefile.am maint: add missing copyright notices 2011-07-28 15:01:17 -06:00
Makefile.nonreentrant Ban use of all inet_* functions 2010-10-22 11:59:23 +01:00
mingw32-libvirt.spec.in snapshot: update rng to support full domain in xml 2011-09-03 08:12:13 -06:00
README Correct typos in the documentation (Atsushi SAKAI) 2008-01-24 10:15:13 +00:00
README-hacking maint: relax git minimum version 2010-02-24 14:29:27 -05:00
TODO Update todo list file to point at bugzilla/website 2010-10-13 16:45:26 +01:00

         LibVirt : simple API for virtualization

  Libvirt is a C toolkit to interact with the virtualization capabilities
of recent versions of Linux (and other OSes). It is free software
available under the GNU Lesser General Public License. Virtualization of
the Linux Operating System means the ability to run multiple instances of
Operating Systems concurrently on a single hardware system where the basic
resources are driven by a Linux instance. The library aim at providing
long term stable C API initially for the Xen paravirtualization but
should be able to integrate other virtualization mechanisms if needed.

Daniel Veillard <veillard@redhat.com>