summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorEmanuele Giuseppe Esposito <eesposit@redhat.com>2022-11-28 09:23:29 -0500
committerKevin Wolf <kwolf@redhat.com>2022-12-15 16:07:43 +0100
commita212e675cde67fb783b7f8e5b31dd02e9c880f58 (patch)
treebfb37f70ef6c9425a9ec0071aefd9dfd6148e31f
parentf7f93a478a0c5d134d80afff7203e0aef788e5cd (diff)
downloadfocaccia-qemu-a212e675cde67fb783b7f8e5b31dd02e9c880f58.tar.gz
focaccia-qemu-a212e675cde67fb783b7f8e5b31dd02e9c880f58.zip
block: avoid duplicating filename string in bdrv_create
We know that the string will stay around until the function
returns, and the parameter of drv->bdrv_co_create_opts is const char*,
so it must not be modified either.

Suggested-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
Message-Id: <20221128142337.657646-7-eesposit@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
-rw-r--r--block.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/block.c b/block.c
index 97073092c4..9d77ec8818 100644
--- a/block.c
+++ b/block.c
@@ -551,7 +551,7 @@ int bdrv_create(BlockDriver *drv, const char* filename,
     Coroutine *co;
     CreateCo cco = {
         .drv = drv,
-        .filename = g_strdup(filename),
+        .filename = filename,
         .opts = opts,
         .ret = NOT_DONE,
         .err = NULL,
@@ -559,8 +559,7 @@ int bdrv_create(BlockDriver *drv, const char* filename,
 
     if (!drv->bdrv_co_create_opts) {
         error_setg(errp, "Driver '%s' does not support image creation", drv->format_name);
-        ret = -ENOTSUP;
-        goto out;
+        return -ENOTSUP;
     }
 
     if (qemu_in_coroutine()) {
@@ -583,8 +582,6 @@ int bdrv_create(BlockDriver *drv, const char* filename,
         }
     }
 
-out:
-    g_free(cco.filename);
     return ret;
 }