[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH 32/32] block-vvfat: fix resource leaks in read_directory()
From: Yunlei Ding <yunlei.ding@xxxxxxxxxx> Signed-off-by: Yunlei Ding <yunlei.ding@xxxxxxxxxx> Coverity-IDs: 1055920 1055921 Reviewed-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> --- block-vvfat.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/block-vvfat.c b/block-vvfat.c index 6cd57a2..ff5c8bf 100644 --- a/block-vvfat.c +++ b/block-vvfat.c @@ -760,6 +760,7 @@ static int read_directory(BDRVVVFATState* s, int mapping_index) if (st.st_size > 0x7fffffff) { fprintf(stderr, "File %s is larger than 2GB\n", buffer); free(buffer); + closedir(dir); return -2; } direntry->size=cpu_to_le32(S_ISDIR(st.st_mode)?0:st.st_size); @@ -787,6 +788,8 @@ static int read_directory(BDRVVVFATState* s, int mapping_index) s->current_mapping->read_only = (st.st_mode & (S_IWUSR | S_IWGRP | S_IWOTH)) == 0; } + else + qemu_free(buffer); } closedir(dir); -- 1.7.10.4 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |