From ae8301fddbb5c8456b738bbeab94b98ae3eb06b6 Mon Sep 17 00:00:00 2001 From: Jacob Garber Date: Fri, 17 May 2019 12:51:47 -0600 Subject: util/romcc: Fix parsing of empty string literal The corner case of an empty string literal was causing romcc to segfault. This checks if the literal is empty, and if so allocates a size one buffer for the terminating null character. A test case for this is added to ensure it doesn't happen again. Found-by: Coverity CID 1129099 Signed-off-by: Jacob Garber Change-Id: I067160a3b9998184f44e4878ef6269f372fe68bb Reviewed-on: https://review.coreboot.org/c/coreboot/+/32852 Tested-by: build bot (Jenkins) Reviewed-by: Patrick Georgi --- util/romcc/tests/simple_test87.c | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 util/romcc/tests/simple_test87.c (limited to 'util/romcc/tests') diff --git a/util/romcc/tests/simple_test87.c b/util/romcc/tests/simple_test87.c new file mode 100644 index 0000000000..6a1148c46a --- /dev/null +++ b/util/romcc/tests/simple_test87.c @@ -0,0 +1,4 @@ +static void main(void) +{ + char *x = ""; +} -- cgit v1.2.3