diff options
author | Zhang Haoyu <zhanghy@sangfor.com> | 2014-10-11 16:35:43 +0800 |
---|---|---|
committer | Kevin Wolf <kwolf@redhat.com> | 2014-10-20 13:41:26 +0200 |
commit | d8bb71b6227366c188595b91c24a58c9b06e46dd (patch) | |
tree | 99f9fdb03c991460ebcd7abe5de5899c5008b0e9 | |
parent | 5f77ef69a195098baddfdc6d189f1b4a94587378 (diff) | |
download | qemu-d8bb71b6227366c188595b91c24a58c9b06e46dd.zip qemu-d8bb71b6227366c188595b91c24a58c9b06e46dd.tar.gz qemu-d8bb71b6227366c188595b91c24a58c9b06e46dd.tar.bz2 |
qcow2: fix leak of Qcow2DiscardRegion in update_refcount_discard
When the Qcow2DiscardRegion is adjacent to another one referenced by "d",
free this Qcow2DiscardRegion metadata referenced by "p" after
it was removed from s->discards queue.
Signed-off-by: Zhang Haoyu <zhanghy@sangfor.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
-rw-r--r-- | block/qcow2-refcount.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/block/qcow2-refcount.c b/block/qcow2-refcount.c index 2bcaaf9..c31d85a 100644 --- a/block/qcow2-refcount.c +++ b/block/qcow2-refcount.c @@ -524,6 +524,7 @@ found: QTAILQ_REMOVE(&s->discards, p, next); d->offset = MIN(d->offset, p->offset); d->bytes += p->bytes; + g_free(p); } } |