Am Freitag, den 18.09.2009, 11:36 -0600 schrieb Myles Watson:
> If you try to add a payload that is larger than the available space, and not
> at a specific location (location == 0), it hangs in an infinite loop. It's
> something like:
Good find, thanks!
> if contentsize <= length or location is right {
> insert record
> }
> if location == 0
> continue.
>
> I wasn't sure where the best place to put the increment of current was. Do
> you have any suggestions?
Primitive solution: duplicate the increment? (see patch)
Signed-off-by: Patrick Georgi <[email protected]>
Index: util/cbfstool/common.c
===================================================================
--- util/cbfstool/common.c (Revision 4637)
+++ util/cbfstool/common.c (Arbeitskopie)
@@ -201,8 +201,12 @@
contentsize);
break;
}
- if (location == 0)
+ if (location == 0) {
+ current =
+ ALIGN(current + ntohl(thisfile->len) +
+ ntohl(thisfile->offset), align);
continue;
+ }
/* CBFS has the constraint that the chain always moves up in memory. so once
we're past the place we seek, we don't need to look any further */
--
coreboot mailing list: [email protected]
http://www.coreboot.org/mailman/listinfo/coreboot