In case kzalloc() fails the second or third time we should free the previous allocated resources. Signed-off-by: Andre Bartke <andre.bartke@xxxxxxxxx> --- drivers/staging/altera-stapl/altera.c | 9 +++++++-- 1 files changed, 7 insertions(+), 2 deletions(-) diff --git a/drivers/staging/altera-stapl/altera.c b/drivers/staging/altera-stapl/altera.c index 05aad35..56ba557 100644 --- a/drivers/staging/altera-stapl/altera.c +++ b/drivers/staging/altera-stapl/altera.c @@ -2435,11 +2435,16 @@ int altera_init(struct altera_config *config, const struct firmware *fw) if (!key) return -ENOMEM; value = kzalloc(257 * sizeof(char), GFP_KERNEL); - if (!value) + if (!value) { + kfree(key); return -ENOMEM; + } astate = kzalloc(sizeof(struct altera_state), GFP_KERNEL); - if (!astate) + if (!astate) { + kfree(key); + kfree(value); return -ENOMEM; + } astate->config = config; if (!astate->config->jtag_io) { -- 1.7.5.2 _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/devel