Lin Ma <l...@suse.com> writes:

> If there is any filename in current path matching wildcard ?, This filename 
> will
> be passed into -device ? while 'pathname expansion' isn't disabled by noglob 
> of
> shell built-in option, qemu reports error in this case.
>
> Signed-off-by: Lin Ma <l...@suse.com>
> ---
>  qdev-monitor.c | 5 +++++
>  1 file changed, 5 insertions(+)
>
> diff --git a/qdev-monitor.c b/qdev-monitor.c
> index e19617f..f6443cd 100644
> --- a/qdev-monitor.c
> +++ b/qdev-monitor.c
> @@ -257,6 +257,11 @@ int qdev_device_help(QemuOpts *opts)
>      DevicePropertyInfoList *prop;
>  
>      driver = qemu_opt_get(opts, "driver");
> +
> +    if (driver && access(driver, F_OK == 0) && strlen(driver) == 1) {
> +        driver = "?";
> +    }
> +
>      if (driver && is_help_option(driver)) {
>          qdev_print_devinfos(false);
>          return 1;

I'm afraid this would silently interpret any one-character driver name
as a request for help when a file with this name exists.  Not a good
idea.  Example: "-device .".

"-device ?" and similar use of "?" elsewhere is deprecated.  Please use
"-device help".

Reply via email to