• K
    block: Fix bdrv_next() memory leak · 88be7b4b
    Kevin Wolf 提交于
    The bdrv_next() users all leaked the BdrvNextIterator after completing
    the iteration. Simply changing bdrv_next() to free the iterator before
    returning NULL at the end of list doesn't work because some callers exit
    the loop before looking at all BDSes.
    
    This patch moves the BdrvNextIterator from the heap to the stack of
    the caller and switches to a bdrv_first()/bdrv_next() interface for
    initialising the iterator.
    Signed-off-by: NKevin Wolf <kwolf@redhat.com>
    Reviewed-by: NFam Zheng <famz@redhat.com>
    88be7b4b
qmp.c 18.8 KB