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
Jiri Denemark 6039a2cb49 daemon: Fix crash in virTypedParameterArrayClear
Daemon uses the following pattern when dispatching APIs with typed
parameters:

    VIR_ALLOC_N(params, nparams);
    virDomain*(dom, params, &nparams, flags);
    virTypedParameterArrayClear(params, nparams);

In case nparams was originally set to 0, virDomain* API would fill it
with the number of typed parameters it can provide and we would use this
number (rather than zero) to clear params. Because VIR_ALLOC* returns
non-NULL pointer even if size is 0, the code would end up walking
through random memory. If we were lucky enough and the memory contained
7 (VIR_TYPED_PARAM_STRING) at the right place, we would try to free a
random pointer and crash.

Let's make sure params stays NULL when nparams is 0.
2012-07-30 19:45:12 +02:00
.gnulib@dbd914496c build: update to latest gnulib, for secure tarball 2012-07-26 07:50:59 -06:00
build-aux Remove tabs from all perl files & enforce this 2012-07-30 13:09:57 +01:00
daemon daemon: Fix crash in virTypedParameterArrayClear 2012-07-30 19:45:12 +02:00
docs Remove tabs from all perl files & enforce this 2012-07-30 13:09:57 +01:00
examples Extend events demo to show close callbacks in use 2012-07-30 12:35:07 +01:00
gnulib build: fix fresh checkout on RHEL5 2012-04-19 17:11:43 -06:00
include Add public API to register a callback to be invoked on connection close 2012-07-30 10:08:40 +01:00
m4 maint: make it easier to copy FORTIFY_SOURCE snippet 2012-06-07 10:52:37 -06:00
po Move LXC monitor code out into separate file 2012-07-30 12:50:22 +01:00
python python: Don't generate bodies for close callback functions 2012-07-30 15:38:07 +02:00
src conf: Remove callback from stream when freeing entries in console hash 2012-07-30 15:38:07 +02:00
tests Remove tabs from all perl files & enforce this 2012-07-30 13:09:57 +01:00
tools libvirt-guests: systemd host shutdown does not work 2012-07-27 09:31:52 -06:00
.dir-locals.el maint: let emacs avoid tabs in rng files 2011-08-13 08:56:26 -06:00
.gitignore Run an RPC protocol over the LXC controller monitor 2012-07-30 13:07:43 +01:00
.gitmodules make .gnulib a submodule 2009-07-08 16:17:51 +02:00
.mailmap virsh: check if specified debug level is in range 2012-07-26 08:21:04 -06:00
AUTHORS maint: spelling correction in AUTHORS 2012-07-25 08:01:24 -06:00
autobuild.sh Switch automated builds to use Mingw64 toolchain instead of Mingw32 2012-06-25 10:41:10 +01:00
autogen.sh Allow NOCONFIGURE=1 to make autogen.sh skip ./configure 2012-06-25 10:41:10 +01:00
bootstrap maint: regenerate bootstrap 2012-07-27 09:34:04 -06:00
bootstrap.conf maint: avoid regression on copyright listings 2012-07-27 07:42:34 -06:00
cfg.mk Remove tabs from all perl files & enforce this 2012-07-30 13:09:57 +01:00
ChangeLog-old virterror.c: Fix several spelling mistakes 2012-02-03 11:32:51 -07:00
configure.ac Add a sheepdog backend for the storage driver 2012-07-18 20:08:27 +01:00
COPYING.LIB remove all trailing blank lines 2009-07-16 15:06:42 +02:00
HACKING docs: Improve patch submission guidelines 2012-07-16 11:05:12 +02:00
libvirt.pc.in build: silence warning from autoconf 2012-05-30 09:22:02 -06:00
libvirt.spec.in building: fix deps error when some drivers are not built 2012-07-24 20:41:05 +08:00
Makefile.am Switch automated builds to use Mingw64 toolchain instead of Mingw32 2012-06-25 10:41:10 +01:00
Makefile.nonreentrant Ban use of all inet_* functions 2010-10-22 11:59:23 +01:00
mingw-libvirt.spec.in Remove accidentally added Patch: lines from mingw-libvirt.spec.in 2012-06-27 14:31:52 +01: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>