summaryrefslogtreecommitdiffstats
path: root/lib/libalpm
diff options
context:
space:
mode:
authorChantry Xavier <shiningxc@gmail.com>2007-11-26 16:54:47 +0100
committerDan McGee <dan@archlinux.org>2007-12-01 18:10:22 +0100
commit22c2043160f30a9ed34fd2886edaf521029a9248 (patch)
tree11d8f798f9a8b9f675fb7275746c74f340203b52 /lib/libalpm
parent5f811dc0207ead061b89d3acc6466bb390fd242e (diff)
downloadpacman-22c2043160f30a9ed34fd2886edaf521029a9248.tar.gz
pacman-22c2043160f30a9ed34fd2886edaf521029a9248.tar.xz
Minor fixes in sync.c and deps.c.
* memleak found by Nagy in checkdeps * an useless line found by Nagy in resolvedeps * data wasn't set to the missing dependencies in sync_prepare * use the MALLOC macro in resolvedeps Signed-off-by: Chantry Xavier <shiningxc@gmail.com> Signed-off-by: Dan McGee <dan@archlinux.org>
Diffstat (limited to 'lib/libalpm')
-rw-r--r--lib/libalpm/deps.c7
-rw-r--r--lib/libalpm/sync.c2
2 files changed, 4 insertions, 5 deletions
diff --git a/lib/libalpm/deps.c b/lib/libalpm/deps.c
index 6a699bc2..350df6b8 100644
--- a/lib/libalpm/deps.c
+++ b/lib/libalpm/deps.c
@@ -575,7 +575,6 @@ int _alpm_resolvedeps(pmdb_t *local, alpm_list_t *dbs_sync, pmpkg_t *syncpkg,
if(!sync) {
continue;
}
- found = alpm_depcmp(sync, missdep);
found = alpm_depcmp(sync, missdep) && !_alpm_pkg_find(alpm_pkg_get_name(sync), remove);
if(!found) {
continue;
@@ -594,10 +593,10 @@ int _alpm_resolvedeps(pmdb_t *local, alpm_list_t *dbs_sync, pmpkg_t *syncpkg,
missdepstring, miss->target);
free(missdepstring);
if(data) {
- if((miss = malloc(sizeof(pmdepmissing_t))) == NULL) {
- _alpm_log(PM_LOG_ERROR, _("malloc failure: could not allocate %zd bytes\n"), sizeof(pmdepmissing_t));
- FREELIST(*data);
+ MALLOC(miss, sizeof(pmdepmissing_t), 0);
+ if(!miss) {
pm_errno = PM_ERR_MEMORY;
+ FREELIST(*data);
goto error;
}
*miss = *(pmdepmissing_t *)i->data;
diff --git a/lib/libalpm/sync.c b/lib/libalpm/sync.c
index f6fa3185..5e58400f 100644
--- a/lib/libalpm/sync.c
+++ b/lib/libalpm/sync.c
@@ -670,7 +670,7 @@ int _alpm_sync_prepare(pmtrans_t *trans, pmdb_t *db_local, alpm_list_t *dbs_sync
if(deps) {
pm_errno = PM_ERR_UNSATISFIED_DEPS;
ret = -1;
- FREELIST(deps);
+ *data = deps;
goto cleanup;
}
}