mirror of
https://github.com/torvalds/linux.git
synced 2026-07-28 01:55:51 +02:00
apparmor: aa_getprocattr free procattr leak on format failure
aa_getprocattr() allocates the output string before rendering the label
into it. If the second aa_label_snxprint() call fails, the function
returned without freeing that allocation.
Free and clear the output pointer on the uncommon formatting failure path
before dropping the namespace reference.
Fixes: 76a1d263ab ("apparmor: switch getprocattr to using label_print fns()")
Reviewed-by: Tyler Hicks <code@thicks.com>
Reviewed-by: Ryan Lee <ryan.lee@canonical.com>
Signed-off-by: Zygmunt Krynicki <me@zygoon.pl>
Signed-off-by: John Johansen <john.johansen@canonical.com>
This commit is contained in:
parent
e27bfb2ae9
commit
fea23bf73f
|
|
@ -54,6 +54,8 @@ int aa_getprocattr(struct aa_label *label, char **string, bool newline)
|
|||
FLAG_SHOW_MODE | FLAG_VIEW_SUBNS |
|
||||
FLAG_HIDDEN_UNCONFINED);
|
||||
if (len < 0) {
|
||||
kfree(*string);
|
||||
*string = NULL;
|
||||
aa_put_ns(current_ns);
|
||||
return len;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user