From 6104f2e1fb872c32d3e6ed1823729592fc6245b9 Mon Sep 17 00:00:00 2001 From: Dan McGee Date: Sun, 23 Mar 2008 15:35:22 -0500 Subject: memleak fix: ensure we free result of get_destfile() In the file:// download case, we didn't free the return from get_destfile() after we were done with it. Fix it. (Found with xfercommand001.py) Signed-off-by: Dan McGee --- lib/libalpm/dload.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/lib/libalpm/dload.c b/lib/libalpm/dload.c index 2e50544b..2fcf6aa1 100644 --- a/lib/libalpm/dload.c +++ b/lib/libalpm/dload.c @@ -322,13 +322,12 @@ static int download(const char *url, const char *localpath, */ const char *sourcefile = url + len; const char *filename = get_filename(url); - const char *destfile = get_destfile(localpath, filename); + char *destfile = get_destfile(localpath, filename); - if(_alpm_copyfile(sourcefile, destfile) == 0) { - return(0); - } else { - return(-1); - } + ret = _alpm_copyfile(sourcefile, destfile); + FREE(destfile); + /* copyfile returns 1 on failure, we want to return -1 on failure */ + return(ret ? -1 : 0); } if(handle->xfercommand == NULL) { -- cgit v1.2.3-70-g09d2