On Sat, 2014-03-08 at 05:02PM +1000, Allan McRae wrote:
On 07/03/14 16:24, Sören Brinkmann wrote:
Check the return value of malloc() before dereferencing the returned pointer.
Signed-off-by: Sören Brinkmann <soeren.brinkmann@gmail.com> --- src/pacman/upgrade.c | 3 +++ 1 file changed, 3 insertions(+)
diff --git a/src/pacman/upgrade.c b/src/pacman/upgrade.c index 5416f6180b39..19aa17218ce4 100644 --- a/src/pacman/upgrade.c +++ b/src/pacman/upgrade.c @@ -51,6 +51,9 @@ int pacman_upgrade(alpm_list_t *targets) */ for(i = targets; i; i = alpm_list_next(i)) { int *r = malloc(sizeof(int)); + if(r == NULL) { + return 1; + }
if(strstr(i->data, "://")) { char *str = alpm_fetch_pkgurl(config->handle, i->data);
Fine. Although if malloc of an int fails, I'm not sure we can do a lot!
Right, but bailing out gracefully is probably better than a segfault? I do not really mind. If you don't want it, don't apply it. But not checking the return value of malloc() is simply wrong, IMHO. Sören