summaryrefslogtreecommitdiffstats
path: root/lib/libalpm/dload.h
diff options
context:
space:
mode:
authorDan McGee <dan@archlinux.org>2011-09-28 09:56:36 +0200
committerDan McGee <dan@archlinux.org>2011-09-28 11:48:33 +0200
commitf66f9f11cd010a05efe28d0607abbf29ff8dffa5 (patch)
tree9feef88c5394fd36ca71070a71c2efcf57151165 /lib/libalpm/dload.h
parentea3c47825ea6a8cfd0e0d63fd7da0120fcacabc8 (diff)
downloadpacman-f66f9f11cd010a05efe28d0607abbf29ff8dffa5.tar.gz
pacman-f66f9f11cd010a05efe28d0607abbf29ff8dffa5.tar.xz
Fix memory leak in download payload->remote_name
In the sync code, we explicitly allocated a string for this field, while in the dload code itself it was filled in with a pointer to another string. This led to a memory leak in the sync download case. Make remote_name non-const and always explicitly allocate it. This patch ensures this as well as uses malloc + snprintf (rather than calloc) in several codepaths, and eliminates the only use of PATH_MAX in the download code. Signed-off-by: Dan McGee <dan@archlinux.org>
Diffstat (limited to 'lib/libalpm/dload.h')
-rw-r--r--lib/libalpm/dload.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/libalpm/dload.h b/lib/libalpm/dload.h
index bc5eb131..765c5fdf 100644
--- a/lib/libalpm/dload.h
+++ b/lib/libalpm/dload.h
@@ -27,8 +27,8 @@
struct dload_payload {
alpm_handle_t *handle;
- const char *remote_name;
const char *tempfile_openmode;
+ char *remote_name;
char *tempfile_name;
char *destfile_name;
char *content_disp_name;