[pacman-dev] [PATCH v2] pacman/upgrade: Check malloc() return value
Andrew Gregory
andrew.gregory.8 at gmail.com
Mon Mar 10 10:00:52 EDT 2014
On 03/09/14 at 03:47pm, Sören Brinkmann wrote:
> Check the return value of malloc() before dereferencing the returned pointer.
>
> Signed-off-by: Sören Brinkmann <soeren.brinkmann at gmail.com>
> ---
> v2:
> - add print statement to log the error
> ---
> src/pacman/upgrade.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/src/pacman/upgrade.c b/src/pacman/upgrade.c
> index 5416f6180b39..11da4dcb5e53 100644
> --- a/src/pacman/upgrade.c
> +++ b/src/pacman/upgrade.c
> @@ -51,6 +51,10 @@ int pacman_upgrade(alpm_list_t *targets)
> */
> for(i = targets; i; i = alpm_list_next(i)) {
> int *r = malloc(sizeof(int));
> + if(r == NULL) {
> + pm_printf(ALPM_LOG_ERROR, _("memory exhausted\n"));
> + return 1;
> + }
If you move the malloc outside the loop and make it an array we have
a better chance of hitting this early enough that we still have
a little memory left for cleanup.
>
> if(strstr(i->data, "://")) {
> char *str = alpm_fetch_pkgurl(config->handle, i->data);
> --
> 1.9.0
More information about the pacman-dev
mailing list