All of lore.kernel.org
 help / color / mirror / Atom feed
* Re: [PATCH] win32: boot broken when bind & data dir are the same
       [not found] <SN4PR2101MB08802BF242C429A15DDB32ACC01B0@SN4PR2101MB0880.namprd21.prod.outlook.com>
@ 2020-10-26  7:57 ` Paolo Bonzini
  0 siblings, 0 replies; only message in thread
From: Paolo Bonzini @ 2020-10-26  7:57 UTC (permalink / raw)
  To: Sunil Muthuswamy, Markus Armbruster; +Cc: qemu-devel

On 24/10/20 11:14, Sunil Muthuswamy wrote:
> With upstream commit#ea1edcd7da1a "vl: relocate paths to data
> directories", the data dir logic was unified between POSIX &
> Win32. That patch moved to using 'get_relocated_path()', to
> find the data dir. There is a latent bug in get_relocated_path
> which can cause it to spin indefinitely, when the bind dir is
> the same as the passed in dir (in this case, it was the data
> dir).
> 
> Signed-off-by: Sunil Muthuswamy <sunilmut@microsoft.com>
> ---
>  util/cutils.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/util/cutils.c b/util/cutils.c
> index be4e43a9ef..c395974fab 100644
> --- a/util/cutils.c
> +++ b/util/cutils.c
> @@ -949,7 +949,7 @@ char *get_relocated_path(const char *dir)
>          bindir += len_bindir;
>          dir = next_component(dir, &len_dir);
>          bindir = next_component(bindir, &len_bindir);
> -    } while (len_dir == len_bindir && !memcmp(dir, bindir, len_dir));
> +    } while (len_dir && len_dir == len_bindir && !memcmp(dir, bindir, len_dir));
>  
>      /* Ascend from bindir to the common prefix with dir.  */
>      while (len_bindir) {
> 

Queued, thanks.

Paolo



^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2020-10-26  7:58 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <SN4PR2101MB08802BF242C429A15DDB32ACC01B0@SN4PR2101MB0880.namprd21.prod.outlook.com>
2020-10-26  7:57 ` [PATCH] win32: boot broken when bind & data dir are the same Paolo Bonzini

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.