On 15/05/20 06:22, Markus Armbruster wrote:
> Before recent commit abc9bf69a66, configure_icount() returned early
> when option "shift" was absent: succeed when option "align" was also
> absent, else fail.
>
> Since then, it still errors out when only "align" is present, but
> continues when both are absent. Crashes when examining the value of
> "shift" further. Reproducer: -icount "".
>
> Revert this erroneous part of the commit.
>
> Fixes: abc9bf69a66a11499a801ff545b8fe7adbb3a04c
> Fixes: Coverity CID 1428754
> Signed-off-by: Markus Armbruster <armbru@redhat.com>
> ---
> cpus.c | 6 ++++--
> 1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/cpus.c b/cpus.c
> index 5670c96bcf..ee906dd08f 100644
> --- a/cpus.c
> +++ b/cpus.c
> @@ -803,8 +803,10 @@ void configure_icount(QemuOpts *opts, Error **errp)
> bool align = qemu_opt_get_bool(opts, "align", false);
> long time_shift = -1;
>
> - if (!option && qemu_opt_get(opts, "align")) {
> - error_setg(errp, "Please specify shift option when using align");
> + if (!option) {
> + if (qemu_opt_get(opts, "align") != NULL) {
> + error_setg(errp, "Please specify shift option when using align");
> + }
> return;
> }
>
>
Got the nicer commit message, too.
Paolo