Edward O'Callaghan has submitted this change. ( https://review.coreboot.org/c/flashrom/+/54909 )
Change subject: dummyflasher.c: Prevent use-after-free bug
......................................................................
dummyflasher.c: Prevent use-after-free bug
The memory for the `status` string is aliased by the `endptr` pointer.
Moreover, `errno` could have been modified by the call to `free()`.
Therefore, only free the former when there are no more uses of either.
Change-Id: I1b56834004fe18918213a7df0a09a8a7ecb56985
Signed-off-by: Angel Pons <th3fanbus(a)gmail.com>
Reviewed-on: https://review.coreboot.org/c/flashrom/+/54909
Tested-by: build bot (Jenkins) <no-reply(a)coreboot.org>
Reviewed-by: Edward O'Callaghan <quasisec(a)chromium.org>
Reviewed-by: Anastasia Klimchuk <aklm(a)chromium.org>
---
M dummyflasher.c
1 file changed, 2 insertions(+), 1 deletion(-)
Approvals:
build bot (Jenkins): Verified
Edward O'Callaghan: Looks good to me, approved
Anastasia Klimchuk: Looks good to me, but someone else must approve
diff --git a/dummyflasher.c b/dummyflasher.c
index 5defec0..560dbdc 100644
--- a/dummyflasher.c
+++ b/dummyflasher.c
@@ -962,12 +962,13 @@
if (status) {
errno = 0;
data->emu_status = strtoul(status, &endptr, 0);
- free(status);
if (errno != 0 || status == endptr) {
+ free(status);
msg_perr("Error: initial status register specified, "
"but the value could not be converted.\n");
return 1;
}
+ free(status);
msg_pdbg("Initial status register is set to 0x%02x.\n",
data->emu_status);
}
--
To view, visit https://review.coreboot.org/c/flashrom/+/54909
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: flashrom
Gerrit-Branch: master
Gerrit-Change-Id: I1b56834004fe18918213a7df0a09a8a7ecb56985
Gerrit-Change-Number: 54909
Gerrit-PatchSet: 3
Gerrit-Owner: Angel Pons <th3fanbus(a)gmail.com>
Gerrit-Reviewer: Anastasia Klimchuk <aklm(a)chromium.org>
Gerrit-Reviewer: Arthur Heymans <arthur(a)aheymans.xyz>
Gerrit-Reviewer: Edward O'Callaghan <quasisec(a)chromium.org>
Gerrit-Reviewer: Nico Huber <nico.h(a)gmx.de>
Gerrit-Reviewer: build bot (Jenkins) <no-reply(a)coreboot.org>
Gerrit-CC: Paul Menzel <paulepanter(a)mailbox.org>
Gerrit-MessageType: merged
Edward O'Callaghan has posted comments on this change. ( https://review.coreboot.org/c/flashrom/+/54854 )
Change subject: dummyflasher.c: Replace atoi() with strtoul()
......................................................................
Patch Set 3:
(1 comment)
File dummyflasher.c:
https://review.coreboot.org/c/flashrom/+/54854/comment/7e36d786_cc759264
PS3, Line 715: free(tmp);
> Sigh, this introduces a use-after-free bug... CB:46551 and CB:54909 fixed the same kind of thing. […]
damm it. thanks Angle fixed here https://review.coreboot.org/c/flashrom/+/55014
I do want to not get too much in the way of Anastasia project though, I just wanted to unblock a couple of things.
Thanks again so much.
--
To view, visit https://review.coreboot.org/c/flashrom/+/54854
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: flashrom
Gerrit-Branch: master
Gerrit-Change-Id: Ib9e66016a2f4ce2d13b833c261f900cab80916b7
Gerrit-Change-Number: 54854
Gerrit-PatchSet: 3
Gerrit-Owner: Edward O'Callaghan <quasisec(a)chromium.org>
Gerrit-Reviewer: Anastasia Klimchuk <aklm(a)chromium.org>
Gerrit-Reviewer: Angel Pons <th3fanbus(a)gmail.com>
Gerrit-Reviewer: Edward O'Callaghan <quasisec(a)chromium.org>
Gerrit-Reviewer: Sam McNally <sammc(a)google.com>
Gerrit-Reviewer: build bot (Jenkins) <no-reply(a)coreboot.org>
Gerrit-Comment-Date: Thu, 27 May 2021 12:41:04 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: Angel Pons <th3fanbus(a)gmail.com>
Gerrit-MessageType: comment