qemu-devel.nongnu.org archive mirror
 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@nongnu.org

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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).