summaryrefslogtreecommitdiff
path: root/source/common/acfileio.c
diff options
context:
space:
mode:
Diffstat (limited to 'source/common/acfileio.c')
-rw-r--r--source/common/acfileio.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/source/common/acfileio.c b/source/common/acfileio.c
index 2c69c23991d6..589eaea26314 100644
--- a/source/common/acfileio.c
+++ b/source/common/acfileio.c
@@ -112,7 +112,8 @@ AcGetAllTablesFromFile (
FileSize = CmGetFileSize (File);
if (FileSize == ACPI_UINT32_MAX)
{
- return (AE_ERROR);
+ Status = AE_ERROR;
+ goto ErrorExit;
}
fprintf (stderr,
@@ -123,7 +124,8 @@ AcGetAllTablesFromFile (
if (FileSize < sizeof (ACPI_TABLE_HEADER))
{
- return (AE_BAD_HEADER);
+ Status = AE_BAD_HEADER;
+ goto ErrorExit;
}
/* Check for an non-binary file */
@@ -156,7 +158,7 @@ AcGetAllTablesFromFile (
}
else if (ACPI_FAILURE (Status))
{
- return (Status);
+ goto ErrorExit;
}
/* Print table header for iASL/disassembler only */
@@ -203,6 +205,7 @@ AcGetAllTablesFromFile (
*ReturnListHead = ListHead;
}
+ErrorExit:
fclose(File);
return (Status);
}
@@ -409,7 +412,7 @@ AcValidateTableHeader (
/* Validate the signature (limited ASCII chars) */
- if (!AcpiIsValidSignature (TableHeader.Signature))
+ if (!AcpiUtValidNameseg (TableHeader.Signature))
{
fprintf (stderr, "Invalid table signature: 0x%8.8X\n",
*ACPI_CAST_PTR (UINT32, TableHeader.Signature));