提交 f6525b96 编写于 作者: D Douglas Anderson 提交者: Kees Cook

pstore: Fix leaked pstore_record in pstore_get_backend_records()

When the "if (record->size <= 0)" test is true in
pstore_get_backend_records() it's pretty clear that nobody holds a
reference to the allocated pstore_record, yet we don't free it.

Let's free it.

Fixes: 2a2b0acf ("pstore: Allocate records on heap instead of stack")
Signed-off-by: NDouglas Anderson <dianders@chromium.org>
Signed-off-by: NKees Cook <keescook@chromium.org>
Cc: stable@vger.kernel.org
上级 4a16d1cb
......@@ -849,8 +849,10 @@ void pstore_get_backend_records(struct pstore_info *psi,
record->size = psi->read(record);
/* No more records left in backend? */
if (record->size <= 0)
if (record->size <= 0) {
kfree(record);
break;
}
decompress_record(record);
rc = pstore_mkfile(root, record);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册