From: Max Reitz <mre...@redhat.com> error_setg_errno() may overwrite errno; therefore, its value should be read before calling that function and not afterwards.
Signed-off-by: Max Reitz <mre...@redhat.com> Reviewed-by: Eric Blake <ebl...@redhat.com> Reviewed-by: Benoit Canet <ben...@irqsave.net> Signed-off-by: Stefan Hajnoczi <stefa...@redhat.com> --- block.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/block.c b/block.c index 58efb5b..0e96a22 100644 --- 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; } -- 1.8.3.1