'local_err' seems forgot to propagate in error path, it'll cause a memleak. Fix it.
Reported-by: Euler Robot <[email protected]> Signed-off-by: Pan Nengyuan <[email protected]> --- Cc: Kevin Wolf <[email protected]> Cc: Max Reitz <[email protected]> Cc: Markus Armbruster <[email protected]> Cc: [email protected] --- blockdev.c | 1 + 1 file changed, 1 insertion(+) diff --git a/blockdev.c b/blockdev.c index 3848a9c8ab..842ac289c1 100644 --- a/blockdev.c +++ b/blockdev.c @@ -1801,6 +1801,7 @@ static void drive_backup_prepare(BlkActionState *common, Error **errp) if (set_backing_hd) { bdrv_set_backing_hd(target_bs, source, &local_err); if (local_err) { + error_propagate(errp, local_err); goto unref; } } -- 2.18.2
