From 0b4ab2c0a80e8581e2caa50e809af7f5573c0e48 Mon Sep 17 00:00:00 2001 From: Aurelien Foret Date: Wed, 1 Mar 2006 07:51:00 +0000 Subject: added ERROR logs in case of malloc failures (patch from VMiklos ) --- lib/libalpm/deps.c | 5 ++++- lib/libalpm/package.c | 1 + lib/libalpm/sync.c | 4 ++++ lib/libalpm/trans.c | 2 ++ 4 files changed, 11 insertions(+), 1 deletion(-) diff --git a/lib/libalpm/deps.c b/lib/libalpm/deps.c index 0a9838c3..08e15d38 100644 --- a/lib/libalpm/deps.c +++ b/lib/libalpm/deps.c @@ -44,7 +44,8 @@ pmdepmissing_t *_alpm_depmiss_new(const char *target, unsigned char type, unsign miss = (pmdepmissing_t *)malloc(sizeof(pmdepmissing_t)); if(miss == NULL) { - return(NULL); + _alpm_log(PM_LOG_ERROR, "malloc failure: could not allocate %d bytes", sizeof(pmdepmissing_t)); + RET_ERR(PM_ERR_MEMORY, NULL); } STRNCPY(miss->target, target, PKG_NAME_LEN); @@ -566,6 +567,7 @@ int _alpm_resolvedeps(pmdb_t *local, PMList *dbs_sync, pmpkg_t *syncpkg, PMList miss->target, miss->depend.name); if(data) { if((miss = (pmdepmissing_t *)malloc(sizeof(pmdepmissing_t))) == NULL) { + _alpm_log(PM_LOG_ERROR, "malloc failure: could not allocate %d bytes", sizeof(pmdepmissing_t)); FREELIST(*data); pm_errno = PM_ERR_MEMORY; goto error; @@ -605,6 +607,7 @@ int _alpm_resolvedeps(pmdb_t *local, PMList *dbs_sync, pmpkg_t *syncpkg, PMList _alpm_log(PM_LOG_ERROR, "cannot resolve dependencies for \"%s\"", miss->target); if(data) { if((miss = (pmdepmissing_t *)malloc(sizeof(pmdepmissing_t))) == NULL) { + _alpm_log(PM_LOG_ERROR, "malloc failure: could not allocate %d bytes", sizeof(pmdepmissing_t)); FREELIST(*data); pm_errno = PM_ERR_MEMORY; goto error; diff --git a/lib/libalpm/package.c b/lib/libalpm/package.c index 4f2bcaaa..b7d2cb5b 100644 --- a/lib/libalpm/package.c +++ b/lib/libalpm/package.c @@ -41,6 +41,7 @@ pmpkg_t *_alpm_pkg_new(const char *name, const char *version) pkg = (pmpkg_t *)malloc(sizeof(pmpkg_t)); if(pkg == NULL) { + _alpm_log(PM_LOG_ERROR, "malloc failure: could not allocate %d bytes", sizeof(pmpkg_t)); RET_ERR(PM_ERR_MEMORY, NULL); } diff --git a/lib/libalpm/sync.c b/lib/libalpm/sync.c index 20d50dc2..58a3e3ce 100644 --- a/lib/libalpm/sync.c +++ b/lib/libalpm/sync.c @@ -53,6 +53,7 @@ pmsyncpkg_t *_alpm_sync_new(int type, pmpkg_t *spkg, void *data) pmsyncpkg_t *sync; if((sync = (pmsyncpkg_t *)malloc(sizeof(pmsyncpkg_t))) == NULL) { + _alpm_log(PM_LOG_ERROR, "malloc failure: could not allocate %d bytes", sizeof(pmsyncpkg_t)); return(NULL); } @@ -571,6 +572,7 @@ int _alpm_sync_prepare(pmtrans_t *trans, pmdb_t *db_local, PMList *dbs_sync, PML errorout = 1; if(data) { if((miss = (pmdepmissing_t *)malloc(sizeof(pmdepmissing_t))) == NULL) { + _alpm_log(PM_LOG_ERROR, "malloc failure: could not allocate %d bytes", sizeof(pmdepmissing_t)); FREELIST(*data); pm_errno = PM_ERR_MEMORY; goto error; @@ -585,6 +587,7 @@ int _alpm_sync_prepare(pmtrans_t *trans, pmdb_t *db_local, PMList *dbs_sync, PML errorout = 1; if(data) { if((miss = (pmdepmissing_t *)malloc(sizeof(pmdepmissing_t))) == NULL) { + _alpm_log(PM_LOG_ERROR, "malloc failure: could not allocate %d bytes", sizeof(pmdepmissing_t)); FREELIST(*data); pm_errno = PM_ERR_MEMORY; goto error; @@ -676,6 +679,7 @@ int _alpm_sync_prepare(pmtrans_t *trans, pmdb_t *db_local, PMList *dbs_sync, PML } if(data) { if((miss = (pmdepmissing_t *)malloc(sizeof(pmdepmissing_t))) == NULL) { + _alpm_log(PM_LOG_ERROR, "malloc failure: could not allocate %d bytes", sizeof(pmdepmissing_t)); FREELIST(*data); pm_errno = PM_ERR_MEMORY; goto error; diff --git a/lib/libalpm/trans.c b/lib/libalpm/trans.c index b71d2fae..b515894b 100644 --- a/lib/libalpm/trans.c +++ b/lib/libalpm/trans.c @@ -27,6 +27,7 @@ #include "error.h" #include "package.h" #include "util.h" +#include "log.h" #include "list.h" #include "handle.h" #include "add.h" @@ -41,6 +42,7 @@ pmtrans_t *_alpm_trans_new() pmtrans_t *trans; if((trans = (pmtrans_t *)malloc(sizeof(pmtrans_t))) == NULL) { + _alpm_log(PM_LOG_ERROR, "malloc failure: could not allocate %d bytes", sizeof(pmtrans_t)); return(NULL); } -- cgit v1.2.3-70-g09d2