PARSER_PARAMS (DbgDevInfoParser)\r
);\r
\r
+ // Check if the values used to control the parsing logic have been\r
+ // successfully read.\r
+ if ((GasCount == NULL) ||\r
+ (NameSpaceStringLength == NULL) ||\r
+ (NameSpaceStringOffset == NULL) ||\r
+ (OEMDataLength == NULL) ||\r
+ (OEMDataOffset == NULL) ||\r
+ (BaseAddrRegOffset == NULL) ||\r
+ (AddrSizeOffset == NULL)) {\r
+ IncrementErrorCount ();\r
+ Print (\r
+ L"ERROR: Insufficient Debug Device Information Structure length. " \\r
+ L"Length = %d.\n",\r
+ Length\r
+ );\r
+ return;\r
+ }\r
+\r
// GAS\r
Index = 0;\r
Offset = *BaseAddrRegOffset;\r
PARSER_PARAMS (Dbg2Parser)\r
);\r
\r
+ // Check if the values used to control the parsing logic have been\r
+ // successfully read.\r
+ if ((OffsetDbgDeviceInfo == NULL) ||\r
+ (NumberDbgDeviceInfo == NULL)) {\r
+ IncrementErrorCount ();\r
+ Print (\r
+ L"ERROR: Insufficient table length. AcpiTableLength = %d\n",\r
+ AcpiTableLength\r
+ );\r
+ return;\r
+ }\r
+\r
Offset = *OffsetDbgDeviceInfo;\r
Index = 0;\r
\r
PARSER_PARAMS (DbgDevInfoHeaderParser)\r
);\r
\r
+ // Check if the values used to control the parsing logic have been\r
+ // successfully read.\r
+ if (DbgDevInfoLen == NULL) {\r
+ IncrementErrorCount ();\r
+ Print (\r
+ L"ERROR: Insufficient remaining table buffer length to read the " \\r
+ L"Debug Device Information structure's 'Length' field. " \\r
+ L"RemainingTableBufferLength = %d.\n",\r
+ AcpiTableLength - Offset\r
+ );\r
+ return;\r
+ }\r
+\r
// Make sure the Debug Device Information structure lies inside the table.\r
if ((Offset + *DbgDevInfoLen) > AcpiTableLength) {\r
IncrementErrorCount ();\r