There was a missing addition of the size of the .notes.pinfo 
section header which could lead to corrupted malloc arena. 

Also, make cbfstool always build with debugging on. Performance
is not an issue here. Don't strip it either. 

Signed-off-by: Ronald G. Minnich <[email protected]>

Index: util/cbfstool/Makefile
===================================================================
--- util/cbfstool/Makefile	(revision 4636)
+++ util/cbfstool/Makefile	(working copy)
@@ -2,7 +2,9 @@
 
 HOSTCXX ?= g++
 HOSTCC ?= gcc
+CFLAGS ?= -g
 
+
 BINARY:=$(obj)/cbfstool
 
 COMMON:=common.o compress.o minilzma.o
@@ -43,9 +45,8 @@
 	ctags *.[ch]
 
 CXXFLAGS=-DCOMPACT
-CFLAGS=
-LDFLAGS=
+CFLAGS=-g
+LDFLAGS=-g
 
 $(obj)/cbfstool:$(COMMON)
 	$(HOSTCXX) $(LDFLAGS) -o $@ $^
-	strip $@
Index: util/cbfstool/cbfs-mkpayload.c
===================================================================
--- util/cbfstool/cbfs-mkpayload.c	(revision 4636)
+++ util/cbfstool/cbfs-mkpayload.c	(working copy)
@@ -75,8 +75,10 @@
 
 		name = (char *)(strtab + shdr[i].sh_name);
 
-		if (!strcmp(name, ".note.pinfo"))
+		if (!strcmp(name, ".note.pinfo")) {
 			segments++;
+			isize += (unsigned int)shdr[i].sh_size;
+		}
 	}
 
 	/* Now, regular headers - we only care about PT_LOAD headers,
-- 
coreboot mailing list: [email protected]
http://www.coreboot.org/mailman/listinfo/coreboot

Reply via email to