]> Git Repo - qemu.git/commitdiff
block: Save errno before error_setg_errno
authorMax Reitz <[email protected]>
Tue, 5 Nov 2013 19:03:33 +0000 (20:03 +0100)
committerStefan Hajnoczi <[email protected]>
Thu, 7 Nov 2013 12:58:58 +0000 (13:58 +0100)
error_setg_errno() may overwrite errno; therefore, its value should be
read before calling that function and not afterwards.

Signed-off-by: Max Reitz <[email protected]>
Reviewed-by: Eric Blake <[email protected]>
Reviewed-by: Benoit Canet <[email protected]>
Signed-off-by: Stefan Hajnoczi <[email protected]>
block.c

diff --git a/block.c b/block.c
index 58efb5b4e474b30c87692557c6bd63e526ad693a..0e96a223a6e4e55dced699713c36fd82598500a1 100644 (file)
--- a/block.c
+++ b/block.c
@@ -1084,8 +1084,8 @@ int bdrv_open(BlockDriverState *bs, const char *filename, QDict *options,
             snprintf(backing_filename, sizeof(backing_filename),
                      "%s", filename);
         } else if (!realpath(filename, backing_filename)) {
-            error_setg_errno(errp, errno, "Could not resolve path '%s'", filename);
             ret = -errno;
+            error_setg_errno(errp, errno, "Could not resolve path '%s'", filename);
             goto fail;
         }
 
This page took 0.029747 seconds and 4 git commands to generate.