--- nvbios/bios.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/nvbios/bios.c b/nvbios/bios.c index fac3840..ca8c54e 100644 --- a/nvbios/bios.c +++ b/nvbios/bios.c @@ -276,9 +276,14 @@ int envy_bios_parse (struct envy_bios *bios) { pos += 4; if (entry.type > 1) ENVY_BIOS_WARN("Unknown HWEA entry type %d\n", entry.type); + if (entry.len == (uint32_t)-1) { + /* Maybe this should be treated as for length == 0 */ + ENVY_BIOS_ERR("Invalid HWEA entry length %d\n", entry.len); + break; + } } else { entry.base = word & 0x1fffffc; - entry.type = word&3; + entry.type = word & 3; switch (entry.type) { case 0: case 1: -- 1.9.1 _______________________________________________ Nouveau mailing list Nouveau@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/nouveau