[sheepdog] [PATCH] bs_sheepdog.c: fix memory leak issues in sd_open()
Hitoshi Mitake
mitake.hitoshi at gmail.com
Thu Oct 31 09:48:42 CET 2013
At Thu, 31 Oct 2013 17:36:34 +0900,
Ryusuke Konishi wrote:
>
> This fixes memory leak issues in sd_open function which were brought
> by the patch titled "bs_sheepdog.c: support various VDI options in
> --backing-store option" (commit:
> f282f83c036e298f316ef64d1e51aff3f57b9eaf).
>
> The current sd_open function doesn't free locally allocated string
> "orig_filename" nor restores "filename" argument temporarily broken
> for parsing VDI options when unknown protocol was specified or tcp
> port number was malformed.
>
> Signed-off-by: Ryusuke Konishi <konishi.ryusuke at lab.ntt.co.jp>
> ---
> usr/bs_sheepdog.c | 6 ++++--
> 1 file changed, 4 insertions(+), 2 deletions(-)
Looks good to me. Thanks for catching.
Reviewed-by: Hitoshi Mitake <mitake.hitoshi at lab.ntt.co.jp>
>
> diff --git a/usr/bs_sheepdog.c b/usr/bs_sheepdog.c
> index 8bb5c80..7341708 100644
> --- a/usr/bs_sheepdog.c
> +++ b/usr/bs_sheepdog.c
> @@ -962,7 +962,8 @@ static int sd_open(struct sheepdog_access_info *ai, char *filename, int flags)
> } else {
> eprintf("unknown protocol of sheepdog vdi:"\
> " %s\n", result);
> - return -1;
> + ret = -1;
> + goto out;
> }
> break;
> case EXPECT_PATH:
> @@ -979,7 +980,8 @@ static int sd_open(struct sheepdog_access_info *ai, char *filename, int flags)
> if (!isdigit(result[i])) {
> eprintf("invalid tcp port number:"\
> " %s\n", result);
> - return -1;
> + ret = -1;
> + goto out;
> }
> }
>
> --
> 1.7.9.3
>
> --
> sheepdog mailing list
> sheepdog at lists.wpkg.org
> http://lists.wpkg.org/mailman/listinfo/sheepdog
More information about the sheepdog
mailing list