diff options
author | Connor Kuehl <ckuehl@redhat.com> | 2020-08-13 08:47:22 -0500 |
---|---|---|
committer | Kevin Wolf <kwolf@redhat.com> | 2020-09-07 12:23:55 +0200 |
commit | 975a7bd2280db5a8db96a92ff0811e08431a64c7 (patch) | |
tree | d41b729e13f7b15a2733b10ea22d62fef7106644 /block.c | |
parent | 7c37270b3fbe3d034ba80e488761461676e21eb4 (diff) |
block: Raise an error when backing file parameter is an empty string
Providing an empty string for the backing file parameter like so:
qemu-img create -f qcow2 -b '' /tmp/foo
allows the flow of control to reach and subsequently fail an assert
statement because passing an empty string to
bdrv_get_full_backing_filename_from_filename()
simply results in NULL being returned without an error being raised.
To fix this, let's check for an empty string when getting the value from
the opts list.
Reported-by: Attila Fazekas <afazekas@redhat.com>
Fixes: https://bugzilla.redhat.com/1809553
Signed-off-by: Connor Kuehl <ckuehl@redhat.com>
Message-Id: <20200813134722.802180-1-ckuehl@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Diffstat (limited to 'block.c')
-rw-r--r-- | block.c | 4 |
1 files changed, 4 insertions, 0 deletions
@@ -6119,6 +6119,10 @@ void bdrv_img_create(const char *filename, const char *fmt, "same filename as the backing file"); goto out; } + if (backing_file[0] == '\0') { + error_setg(errp, "Expected backing file name, got empty string"); + goto out; + } } backing_fmt = qemu_opt_get(opts, BLOCK_OPT_BACKING_FMT); |