summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrew Gregory <andrew.gregory.8@gmail.com>2015-01-01 19:00:23 -0500
committerAllan McRae <allan@archlinux.org>2015-01-02 21:48:59 +1000
commit8da9be0955fc759f43c40dab8985f9d17ac8462a (patch)
treee8d58c84e3175347677e6f77ba485015436447a2
parent4060c5c77f41f69b26597dcc6d9285cf546000cf (diff)
downloadpacman-8da9be0955fc759f43c40dab8985f9d17ac8462a.tar.gz
pacman-8da9be0955fc759f43c40dab8985f9d17ac8462a.zip
initialize pointers passed to _alpm_pkg_dup
_alpm_pkg_dup leaves the destination pointer unaltered in case of fatal errors, so when commits 2f0ca00e and be4198b3 freed the pointer, they fixed a memory leak on non-fatal errors by replacing it with a segmentation fault on fatal errors. Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com> Signed-off-by: Allan McRae <allan@archlinux.org>
-rw-r--r--lib/libalpm/db.c2
-rw-r--r--lib/libalpm/deps.c2
2 files changed, 2 insertions, 2 deletions
diff --git a/lib/libalpm/db.c b/lib/libalpm/db.c
index bfc80ac8..ebcd1f89 100644
--- a/lib/libalpm/db.c
+++ b/lib/libalpm/db.c
@@ -565,7 +565,7 @@ alpm_list_t *_alpm_db_get_pkgcache(alpm_db_t *db)
/* "duplicate" pkg then add it to pkgcache */
int _alpm_db_add_pkgincache(alpm_db_t *db, alpm_pkg_t *pkg)
{
- alpm_pkg_t *newpkg;
+ alpm_pkg_t *newpkg = NULL;
if(db == NULL || pkg == NULL || !(db->status & DB_STATUS_PKGCACHE)) {
return -1;
diff --git a/lib/libalpm/deps.c b/lib/libalpm/deps.c
index d4fbf950..c340f112 100644
--- a/lib/libalpm/deps.c
+++ b/lib/libalpm/deps.c
@@ -609,7 +609,7 @@ int _alpm_recursedeps(alpm_db_t *db, alpm_list_t **targs, int include_explicit)
alpm_pkg_t *deppkg = j->data;
if(_alpm_pkg_depends_on(pkg, deppkg)
&& can_remove_package(db, deppkg, *targs, include_explicit)) {
- alpm_pkg_t *copy;
+ alpm_pkg_t *copy = NULL;
_alpm_log(db->handle, ALPM_LOG_DEBUG, "adding '%s' to the targets\n",
deppkg->name);
/* add it to the target list */