[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] migration: Fix parse_ramblock() on overwritten retvals
From: |
Juan Quintela |
Subject: |
Re: [PATCH] migration: Fix parse_ramblock() on overwritten retvals |
Date: |
Wed, 18 Oct 2023 09:12:36 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/28.3 (gnu/linux) |
Peter Xu <peterx@redhat.com> wrote:
> It's possible that some errors can be overwritten with success retval later
> on, and then ignored. Always capture all errors and report.
>
> Reported by Coverity 1522861, but actually I spot one more in the same
> function.
>
> Fixes: CID 1522861
> Signed-off-by: Peter Xu <peterx@redhat.com>
> ---
> migration/ram.c | 6 ++++--
> 1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/migration/ram.c b/migration/ram.c
> index c844151ee9..d8bdb53a8f 100644
> --- a/migration/ram.c
> +++ b/migration/ram.c
> @@ -3888,6 +3888,8 @@ static int parse_ramblock(QEMUFile *f, RAMBlock *block,
> ram_addr_t length)
> ret = qemu_ram_resize(block, length, &local_err);
> if (local_err) {
> error_report_err(local_err);
> + assert(ret < 0);
> + return ret;
I hate that assert. If you really want that:
if (ret < 0) {
error_report_err(local_err);
assert(ret < 0);
return ret;
}
Rest of the patch looks ok.
Later, Juan.