* Juan Quintela (quint...@redhat.com) wrote:
> If there is an error while loading a field, we should stop reading and
> not continue with the rest of fields.  And we should also set an error
> in qemu_file.
> 
> Signed-off-by: Juan Quintela <quint...@redhat.com>
> ---
>  vmstate.c | 6 ++++++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/vmstate.c b/vmstate.c
> index bfa34cc..bcf1cde 100644
> --- a/vmstate.c
> +++ b/vmstate.c
> @@ -74,7 +74,13 @@ int vmstate_load_state(QEMUFile *f, const 
> VMStateDescription *vmsd,
>                      ret = field->info->get(f, addr, size);
> 
>                  }
> +                if (ret >= 0) {
> +                    ret = qemu_file_get_error(f);
> +                }
>                  if (ret < 0) {
> +                    if (!qemu_file_get_error(f)) {
> +                        qemu_file_set_error(f, ret);
> +                    }

qemu_file_set_error already checks for an existing error, so
you don't need that check.

Dve

>                      trace_vmstate_load_field_error(field->name, ret);
>                      return ret;
>                  }
> -- 
> 1.9.0
> 
> 
--
Dr. David Alan Gilbert / dgilb...@redhat.com / Manchester, UK

Reply via email to