qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH for 1.3 v2] block: Fix regression for MinGW (assertion caused by short string)
@ 2012-11-22  6:25 Stefan Weil
  2012-11-22 10:19 ` Stefan Hajnoczi
  2012-11-24 21:01 ` Blue Swirl
  0 siblings, 2 replies; 3+ messages in thread
From: Stefan Weil @ 2012-11-22  6:25 UTC (permalink / raw)
  To: Anthony Liguori
  Cc: Blue Swirl, Kevin Wolf, qemu-devel, Stefan Hajnoczi, Stefan Weil

The local string tmp_filename is passed to function get_tmp_filename
which expects a string with minimum size MAX_PATH for w32 hosts.

MAX_PATH is 260 and PATH_MAX is 259, so tmp_filename was too short.

Commit eba25057b9a5e19d10ace2bc7716667a31297169 introduced this
regression.

Signed-off-by: Stefan Weil <sw@weilnetz.de>
---

v2: Added TODO comment as suggested by Stefan Hajnoczi.

Hi Anthony, hi Blue,

this fix is needed for 1.3 to avoid a fatal assertion on Windows.
As discussed on qemu-devel, it is a minimal solution and can be
replaced by a better one after 1.3.

Please commit it to git master.

Regards
Stefan


 block.c |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/block.c b/block.c
index 854ebd6..c05875f 100644
--- a/block.c
+++ b/block.c
@@ -787,7 +787,8 @@ int bdrv_open(BlockDriverState *bs, const char *filename, int flags,
               BlockDriver *drv)
 {
     int ret;
-    char tmp_filename[PATH_MAX];
+    /* TODO: extra byte is a hack to ensure MAX_PATH space on Windows. */
+    char tmp_filename[PATH_MAX + 1];
 
     if (flags & BDRV_O_SNAPSHOT) {
         BlockDriverState *bs1;
-- 
1.7.10.4

^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2012-11-24 21:01 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-11-22  6:25 [Qemu-devel] [PATCH for 1.3 v2] block: Fix regression for MinGW (assertion caused by short string) Stefan Weil
2012-11-22 10:19 ` Stefan Hajnoczi
2012-11-24 21:01 ` Blue Swirl

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).