diff options
author | Aurelien Foret <aurelien@archlinux.org> | 2005-04-24 11:14:25 +0200 |
---|---|---|
committer | Aurelien Foret <aurelien@archlinux.org> | 2005-04-24 11:14:25 +0200 |
commit | 45247b4e35cb219d5aaf5e4ed5b8be79fb410706 (patch) | |
tree | 90487761e081fcc4e3be5c62288dd76ac3cf893d | |
parent | e2b474b1309594c610a2cf25f35b349575d88223 (diff) | |
download | pacman-45247b4e35cb219d5aaf5e4ed5b8be79fb410706.tar.gz pacman-45247b4e35cb219d5aaf5e4ed5b8be79fb410706.tar.xz |
fixed some potential resource leaks
-rw-r--r-- | lib/libalpm/util.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/lib/libalpm/util.c b/lib/libalpm/util.c index 48a912d9..d08af4e2 100644 --- a/lib/libalpm/util.c +++ b/lib/libalpm/util.c @@ -61,9 +61,11 @@ long _alpm_gzopen_frontend(char *pathname, int oflags, int mode) return -1; } if((oflags & O_CREAT) && fchmod(fd, mode)) { + close(fd); return -1; } if(!(gzf = gzdopen(fd, gzoflags))) { + close(fd); errno = ENOMEM; return -1; } @@ -114,6 +116,7 @@ int _alpm_copyfile(char *src, char *dest) } out = fopen(dest, "w"); if(out == NULL) { + fclose(in); return(1); } @@ -162,7 +165,7 @@ char *_alpm_strtrim(char *str) return(str); } - pch = (char*)(str + (strlen(str) - 1)); + pch = (char *)(str + (strlen(str) - 1)); while(isspace(*pch)) { pch--; } @@ -218,6 +221,8 @@ int _alpm_lckmk(char *file) */ int _alpm_lckrm(char *file) { + /* ORE + we should close the file descriptor opened by lckmk */ return(unlink(file) == -1); } |