On Thu, Jul 27, 2023 at 12:58:28PM +0200, Denis V. Lunev wrote: > Unfortunately > commit 03b67621445d601c9cdc7dfe25812e9f19b81488 > Author: Denis V. Lunev <[email protected]> > Date: Mon Jul 17 16:55:40 2023 +0200 > qemu-nbd: pass structure into nbd_client_thread instead of plain char* > has introduced a regression. struct NbdClientOpts resides on stack inside > 'if' block. This specifically means that this stack space could be reused > once the execution will leave that block of the code. > > This means that parameters passed into nbd_client_thread could be > overwritten at any moment. > > The patch moves the data to the namespace of main() function effectively > preserving it for the whole process lifetime. > > Signed-off-by: Denis V. Lunev <[email protected]> > CC: Eric Blake <[email protected]> > CC: Vladimir Sementsov-Ogievskiy <[email protected]> > CC: <[email protected]> > --- > Changes from v1: > - fixed compilation without HAVE_NBD_DEVICE (i.e. for Win/BSD)
Reviewed-by: Eric Blake <[email protected]> -- Eric Blake, Principal Software Engineer Red Hat, Inc. Virtualization: qemu.org | libguestfs.org
