qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] migration: fix coverity migrate_mode finding


From: Fabiano Rosas
Subject: Re: [PATCH] migration: fix coverity migrate_mode finding
Date: Tue, 14 Nov 2023 09:21:41 -0300

Steve Sistare <steven.sistare@oracle.com> writes:

> Coverity diagnoses a possible out-of-range array index here ...
>
>     static GSList *migration_blockers[MIG_MODE__MAX];
>
>     fill_source_migration_info() {
>         GSList *cur_blocker = migration_blockers[migrate_mode()];
>
> ... because it does not know that MIG_MODE__MAX will never be returned as
> a migration mode.  To fix, assert so in migrate_mode().
>
> Fixes: fa3673e497a1 ("migration: per-mode blockers")
>
> Reported-by: Peter Maydell <peter.maydell@linaro.org>
> Suggested-by: Peter Maydell <peter.maydell@linaro.org>
> Signed-off-by: Steve Sistare <steven.sistare@oracle.com>
> ---
>  migration/options.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/migration/options.c b/migration/options.c
> index 8d8ec73..3e3e0b9 100644
> --- a/migration/options.c
> +++ b/migration/options.c
> @@ -833,8 +833,10 @@ uint64_t migrate_max_postcopy_bandwidth(void)
>  MigMode migrate_mode(void)
>  {
>      MigrationState *s = migrate_get_current();
> +    MigMode mode = s->parameters.mode;
>  
> -    return s->parameters.mode;
> +    assert(mode >= 0 && mode < MIG_MODE__MAX);
> +    return mode;
>  }
>  
>  int migrate_multifd_channels(void)

Reviewed-by: Fabiano Rosas <farosas@suse.de>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]