Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f6525b96 authored by Douglas Anderson's avatar Douglas Anderson Committed by Kees Cook
Browse files

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: default avatarDouglas Anderson <dianders@chromium.org>
Signed-off-by: default avatarKees Cook <keescook@chromium.org>
Cc: stable@vger.kernel.org
parent 4a16d1cb
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -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);