diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/libalpm/deps.c | 7 | ||||
-rw-r--r-- | lib/libalpm/sync.c | 2 |
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; } } |