mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-12-27 08:05:24 +00:00
fbcb73866b
If we call virStreamFinish and virStreamAbort from 2 distinct
threads for example we can have access to freed memory.
Because when virStreamFinish finishes for example virStreamAbort
yet to be finished and it access virNetClientStreamPtr object
in stream->privateData.
Also it does not make sense to clear @driver field. After
stream is finished/aborted it is better to have appropriate
error message instead of "unsupported error".
This commit reverts [1] or virNetClientStreamPtr and
virStreamPtr will never be unrefed due to cyclic dependency.
Before this patch we don't have leaks because all execution
paths we call virStreamFinish or virStreamAbort.
[1]
|
||
---|---|---|
.. | ||
libvirtd.aug | ||
libvirtd.conf | ||
libvirtd.init.in | ||
libvirtd.libxl.logrotate.in | ||
libvirtd.logrotate.in | ||
libvirtd.lxc.logrotate.in | ||
libvirtd.pod | ||
libvirtd.policy | ||
libvirtd.qemu.logrotate.in | ||
libvirtd.rules | ||
libvirtd.sasl | ||
libvirtd.service.in | ||
libvirtd.sysconf | ||
libvirtd.sysctl | ||
libvirtd.upstart | ||
lxc_protocol.x | ||
Makefile.inc.am | ||
qemu_protocol.x | ||
remote_daemon_config.c | ||
remote_daemon_config.h | ||
remote_daemon_dispatch.c | ||
remote_daemon_dispatch.h | ||
remote_daemon_stream.c | ||
remote_daemon_stream.h | ||
remote_daemon.c | ||
remote_daemon.h | ||
remote_driver.c | ||
remote_driver.h | ||
remote_protocol.x | ||
test_libvirtd.aug.in | ||
virt-guest-shutdown.target.in |