virStorageSourceClear: Don't leave dangling pointers behind

Imagine that this function is called twice over the same disk
source. While in the first run all allocated memory is freed, not
all pointers are set to NULL (e.g. def->srcpool). So when called
again, these poitners are freed again resulting in double free.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
(cherry picked from commit 349badbffd50f86580884b29fdfa7ad6ea082c2e)
This commit is contained in:
Michal Privoznik 2017-04-05 09:59:25 +02:00 committed by Cole Robinson
parent 3feb8fb79d
commit 9e8d33ae1c

View File

@ -2274,6 +2274,8 @@ virStorageSourceClear(virStorageSourcePtr def)
VIR_FREE(def->nodeformat);
virStorageSourceBackingStoreClear(def);
memset(def, 0, sizeof(*def));
}