Re: [PATCH] Allocate pnp resources dynamically via krealloc

From: Pekka Enberg
Date: Sat Jan 19 2008 - 19:23:36 EST


Hi Thomas,

On Jan 19, 2008 10:00 PM, Thomas Renninger <trenn@xxxxxxx> wrote:
> +static int pnp_alloc_port(struct pnp_resource_table *res)
> +{

[snip]

> + res->port_resource = krealloc(res->port_resource,
> + (sizeof(struct resource) * res->allocated_ports)
> + + (sizeof(struct resource) * PNP_ALLOC_PORT), GFP_KERNEL);
> +
> + if (!res->port_resource)
> + return -ENOMEM;

When krealloc() returns NULL, there wasn't enough memory to fit the
new size but the original memory region remains unchanged. Therefore
you must not unconditionally overwrite the res->port_resource with the
return value of krealloc(); otherwise you might leak memory.

Pekka
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/