Commit 54031109 authored by Jesper Juhl's avatar Jesper Juhl Committed by James Morris

trusted keys: Fix a memory leak in trusted_update().

One failure path in security/keys/trusted.c::trusted_update() does
not free 'new_p' while the others do. This patch makes sure we also free
it in the remaining path (if datablob_parse() returns different from
Opt_update).
Signed-off-by: default avatarJesper Juhl <jj@chaosbits.net>
Signed-off-by: default avatarJames Morris <jmorris@namei.org>
parent 7f3c68be
...@@ -1032,6 +1032,7 @@ static int trusted_update(struct key *key, const void *data, size_t datalen) ...@@ -1032,6 +1032,7 @@ static int trusted_update(struct key *key, const void *data, size_t datalen)
ret = datablob_parse(datablob, new_p, new_o); ret = datablob_parse(datablob, new_p, new_o);
if (ret != Opt_update) { if (ret != Opt_update) {
ret = -EINVAL; ret = -EINVAL;
kfree(new_p);
goto out; goto out;
} }
/* copy old key values, and reseal with new pcrs */ /* copy old key values, and reseal with new pcrs */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment