[PATCH 0/2] Make vir*Free to set ptr to NULL

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is just a start to see if upstream likes it or not. If it turns out we
want this I can supply more patches - there are plenty of vir.*Free() functions
which doesn't set ptr to NULL.

My aim is to make it more visible where are we using stale pointer. Because if
the pointer is not set to NULL it may happen that the page isn't unmapped, so
on write access we are overwriting something else (perhaps glibc internal
structs). We may get SIGSEGV later on, but it will not show the root cause but
some random location instead. So you often have to run it under valgrind to get
to the real root cause. And I don't need to say how tricky is that, do I?

Of course, it won't catch every stale pointer bug we have, but my aim is to
catch a few at least.

Michal Privoznik (2):
  virObjectUnref: Set pointer to NULL on dispose
  virCommandFree: Set pointer to NULL

 src/fdstream.c                        |  1 -
 src/libvirt_private.syms              |  4 ++--
 src/qemu/qemu_driver.c                |  1 -
 src/storage/storage_backend_logical.c |  3 ---
 src/util/vircommand.c                 | 11 ++++++++---
 src/util/vircommand.h                 |  4 +++-
 src/util/viridentity.c                |  2 +-
 src/util/virnetdevveth.c              |  1 -
 src/util/virobject.c                  | 13 ++++++++-----
 src/util/virobject.h                  |  5 ++++-
 10 files changed, 26 insertions(+), 19 deletions(-)

-- 
1.8.1.5

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list




[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]