[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] Re: [PATCH 4/7] Make error handling more consistent in img_
From: |
Kevin Wolf |
Subject: |
[Qemu-devel] Re: [PATCH 4/7] Make error handling more consistent in img_create() and img_resize() |
Date: |
Mon, 06 Dec 2010 16:25:20 +0100 |
User-agent: |
Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.15) Gecko/20101027 Fedora/3.0.10-1.fc12 Thunderbird/3.0.10 |
Am 06.12.2010 15:25, schrieb address@hidden:
> From: Jes Sorensen <address@hidden>
>
> Signed-off-by: Jes Sorensen <address@hidden>
> ---
> qemu-img.c | 12 ++++++++----
> 1 files changed, 8 insertions(+), 4 deletions(-)
>
> diff --git a/qemu-img.c b/qemu-img.c
> index aded72d..7f4939e 100644
> --- a/qemu-img.c
> +++ b/qemu-img.c
> @@ -314,13 +314,15 @@ static int img_create(int argc, char **argv)
> drv = bdrv_find_format(fmt);
> if (!drv) {
> error("Unknown file format '%s'", fmt);
> - return 1;
> + ret = -1;
> + goto out;
> }
>
> proto_drv = bdrv_find_protocol(filename);
> if (!proto_drv) {
> error("Unknown protocol '%s'", filename);
> - return 1;
> + ret = -1;
> + goto out;
> }
>
> create_options = append_option_parameters(create_options,
> @@ -1483,14 +1485,16 @@ static int img_resize(int argc, char **argv)
> param = parse_option_parameters("", resize_options, NULL);
> if (set_option_parameter(param, BLOCK_OPT_SIZE, size)) {
> /* Error message already printed when size parsing fails */
> - exit(1);
> + ret = -1;
> + goto out;
bs isn't initialized here, so the bdrv_delete(bs) after out: will crash.
> }
> n = get_option_parameter(param, BLOCK_OPT_SIZE)->value.n;
> free_option_parameters(param);
>
> bs = bdrv_new_open(filename, fmt, BDRV_O_FLAGS | BDRV_O_RDWR);
> if (!bs) {
> - return 1;
> + ret = -1;
> + goto out;
> }
Same here.
Heh, wanted to try it out to be sure, but the compiler notices that, so
it doesn't even build:
cc1: warnings being treated as errors
qemu-img.c: In function 'img_resize':
qemu-img.c:1497: error: 'bs' may be used uninitialized in this function
Kevin
- [Qemu-devel] [PATCH v3 0/7] Cleanup qemu-img code, Jes . Sorensen, 2010/12/06
- [Qemu-devel] [PATCH 2/7] Use qemu_mallocz() instead of calloc() in img_convert(), Jes . Sorensen, 2010/12/06
- [Qemu-devel] [PATCH 5/7] Consolidate printing of block driver options, Jes . Sorensen, 2010/12/06
- [Qemu-devel] [PATCH 4/7] Make error handling more consistent in img_create() and img_resize(), Jes . Sorensen, 2010/12/06
- [Qemu-devel] [PATCH 6/7] Fix formatting and missing braces in qemu-img.c, Jes . Sorensen, 2010/12/06
- [Qemu-devel] [PATCH 1/7] Add missing tracing to qemu_mallocz(), Jes . Sorensen, 2010/12/06
- [Qemu-devel] [PATCH 7/7] Fail if detecting an unknown option, Jes . Sorensen, 2010/12/06
- [Qemu-devel] [PATCH 3/7] img_convert(): Only try to free bs[] entries if bs is valid., Jes . Sorensen, 2010/12/06
- [Qemu-devel] Re: [PATCH v3 0/7] Cleanup qemu-img code, Kevin Wolf, 2010/12/06