mirror of
https://github.com/followmsi/android_kernel_google_msm.git
synced 2024-11-06 23:17:41 +00:00
CRED: Fix double free in prepare_usermodehelper_creds() error handling
Patch 570b8fb505
:
Author: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Date: Tue Mar 30 00:04:00 2010 +0100
Subject: CRED: Fix memory leak in error handling
attempts to fix a memory leak in the error handling by making the offending
return statement into a jump down to the bottom of the function where a
kfree(tgcred) is inserted.
This is, however, incorrect, as it does a kfree() after doing put_cred() if
security_prepare_creds() fails. That will result in a double free if 'error'
is jumped to as put_cred() will also attempt to free the new tgcred record by
virtue of it being pointed to by the new cred record.
Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: James Morris <jmorris@namei.org>
This commit is contained in:
parent
05ce7bfe54
commit
eff30363c0
1 changed files with 2 additions and 0 deletions
|
@ -398,6 +398,8 @@ struct cred *prepare_usermodehelper_creds(void)
|
|||
|
||||
error:
|
||||
put_cred(new);
|
||||
return NULL;
|
||||
|
||||
free_tgcred:
|
||||
#ifdef CONFIG_KEYS
|
||||
kfree(tgcred);
|
||||
|
|
Loading…
Reference in a new issue