From d4ff8f6b5af0fbe652892702850d01cda4908971 Mon Sep 17 00:00:00 2001 From: Miloslav Trmač Date: Fri, 9 Jul 2010 07:46:22 +0200 Subject: Fix error paths in ncr_key_init Signed-off-by: Nikos Mavrogiannopoulos --- ncr-key.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/ncr-key.c b/ncr-key.c index b12f3a0..5693bdd 100644 --- a/ncr-key.c +++ b/ncr-key.c @@ -163,7 +163,8 @@ int ncr_key_init(struct list_sem_st* lst, void __user* arg) key = kmalloc(sizeof(*key), GFP_KERNEL); if (key == NULL) { err(); - return -ENOMEM; + ret = -ENOMEM; + goto err_limits; } memset(key, 0, sizeof(*key)); @@ -183,6 +184,10 @@ int ncr_key_init(struct list_sem_st* lst, void __user* arg) desc = key->desc; return copy_to_user(arg, &desc, sizeof(desc)); + +err_limits: + ncr_limits_remove(current_euid(), task_pid_nr(current), LIMIT_TYPE_KEY); + return ret; } -- cgit