Author: emaste
Date: Sun Aug 13 18:14:24 2017
New Revision: 322467
URL: https://svnweb.freebsd.org/changeset/base/322467

Log:
  MFC r320736: acpidump: warn and exit loop on invalid subtable length
  
  Submitted by: Guangyuan Yang <[email protected]>
  Sponsored by: The FreeBSD Foundation

Modified:
  stable/11/usr.sbin/acpi/acpidump/acpi.c
Directory Properties:
  stable/11/   (props changed)

Modified: stable/11/usr.sbin/acpi/acpidump/acpi.c
==============================================================================
--- stable/11/usr.sbin/acpi/acpidump/acpi.c     Sun Aug 13 18:12:56 2017        
(r322466)
+++ stable/11/usr.sbin/acpi/acpidump/acpi.c     Sun Aug 13 18:14:24 2017        
(r322467)
@@ -275,6 +275,10 @@ acpi_walk_subtables(ACPI_TABLE_HEADER *table, void *fi
        end = (char *)table + table->Length;
        while ((char *)subtable < end) {
                printf("\n");
+               if (subtable->Length < sizeof(ACPI_SUBTABLE_HEADER)) {
+                       warnx("invalid subtable length %u", subtable->Length);
+                       return;
+               }
                action(subtable);
                subtable = (ACPI_SUBTABLE_HEADER *)((char *)subtable +
                    subtable->Length);
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "[email protected]"

Reply via email to