libvirt/daemon
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
..
.gitignore build: don't require pod2man for tarball builds 2011-02-21 09:27:05 -07:00
Makefile.am freebsd: Fix build problem due to picking up the wrong libvirt.h 2011-07-29 07:35:54 -06:00
THREADS.txt maint: use consistent file name for threading notes 2011-05-31 13:54:45 -06:00
libvirtd.aug daemon: Create priority workers pool 2011-09-05 18:14:08 +02:00
libvirtd.c daemon: Error and exit if specified value for timeout is not valid 2011-09-20 11:14:24 +08:00
libvirtd.conf daemon: Create priority workers pool 2011-09-05 18:14:08 +02:00
libvirtd.h build: work around older systemtap header 2011-08-22 06:57:16 -06:00
libvirtd.init.in libvirtd.init.in: stop/restart() - wrong return value in case of failure 2011-08-15 15:44:39 +08:00
libvirtd.logrotate.in Add logrotate support for libvirtd.log 2011-03-04 22:43:55 +08:00
libvirtd.lxc.logrotate.in Change logrotate to be per-hypervisor logs 2010-03-10 11:27:02 +01:00
libvirtd.pod.in docs: removed outdated reference to virt-mem 2010-11-23 01:11:10 +11:00
libvirtd.policy-0 Rename qemud/ directory to daemon/ 2009-09-21 14:41:42 +01:00
libvirtd.policy-1 Rename qemud/ directory to daemon/ 2009-09-21 14:41:42 +01:00
libvirtd.qemu.logrotate.in Change logrotate to be per-hypervisor logs 2010-03-10 11:27:02 +01:00
libvirtd.sasl Rename qemud/ directory to daemon/ 2009-09-21 14:41:42 +01:00
libvirtd.stp Include socket address in client probe data 2010-10-22 12:00:45 +01:00
libvirtd.sysconf daemon: sysconf: Update comment about VNC audio 2010-05-26 10:51:36 -04:00
libvirtd.uml.logrotate.in Change logrotate to be per-hypervisor logs 2010-03-10 11:27:02 +01:00
libvirtd.upstart Experimental libvirtd upstart job 2011-04-18 11:38:30 +02:00
probes.d Include socket address in client probe data 2010-10-22 12:00:45 +01:00
remote.c Fix crash on events due to allocation errors 2011-09-20 11:51:50 +08:00
remote.h Remove unused virNetServerProgramErrorHander typedef 2011-07-13 11:47:01 +01:00
stream.c Fix tracking of RPC messages wrt streams 2011-09-01 10:52:35 +01:00
stream.h Ensure client streams are closed when marking a client for close 2011-08-16 14:38:11 -07:00
test_libvirtd.aug Allow certificate sanity checking to be disabled 2011-07-22 15:18:32 +01:00