ae6f250
Index: acpica-unix2-20181003/source/compiler/aslanalyze.c
c11325f
===================================================================
ae6f250
--- acpica-unix2-20181003.orig/source/compiler/aslanalyze.c
ae6f250
+++ acpica-unix2-20181003/source/compiler/aslanalyze.c
c11325f
@@ -355,11 +355,16 @@ AnCheckMethodReturnValue (
c11325f
          */
c11325f
         if (ThisNodeBtype != 0)
c11325f
         {
ae6f250
-            sprintf (AslGbl_MsgBuffer,
c11325f
+	     int cnt;
c11325f
+	     char *strp;
c11325f
+
c11325f
+            cnt = asprintf (&strp,
c11325f
                 "Method returns [%s], %s operator requires [%s]",
ae6f250
                 AslGbl_StringBuffer, OpInfo->Name, AslGbl_StringBuffer2);
c11325f
 
ae6f250
-            AslError (ASL_ERROR, ASL_MSG_INVALID_TYPE, ArgOp, AslGbl_MsgBuffer);
c11325f
+            AslError (ASL_ERROR, ASL_MSG_INVALID_TYPE, ArgOp, strp);
c11325f
+	     if (cnt > 0)
c11325f
+	         free(strp);
c11325f
         }
c11325f
     }
c11325f
 }
ae6f250
Index: acpica-unix2-20181003/source/compiler/aslpredef.c
c11325f
===================================================================
ae6f250
--- acpica-unix2-20181003.orig/source/compiler/aslpredef.c
ae6f250
+++ acpica-unix2-20181003/source/compiler/aslpredef.c
c11325f
@@ -159,14 +159,19 @@ ApCheckForPredefinedMethod (
c11325f
         if (MethodInfo->NumReturnNoValue &&
c11325f
             ThisName->Info.ExpectedBtypes)
c11325f
         {
c11325f
+	     int cnt;
c11325f
+	     char *strp;
c11325f
+
ae6f250
             AcpiUtGetExpectedReturnTypes (AslGbl_StringBuffer,
c11325f
                 ThisName->Info.ExpectedBtypes);
c11325f
 
ae6f250
-            sprintf (AslGbl_MsgBuffer, "%s required for %4.4s",
ae6f250
-                AslGbl_StringBuffer, ThisName->Info.Name);
c11325f
+            cnt = asprintf (&strp, "%s required for %4.4s",
ae6f250
+	        AslGbl_StringBuffer, ThisName->Info.Name);
c11325f
 
c11325f
             AslError (ASL_WARNING, ASL_MSG_RESERVED_RETURN_VALUE, Op,
ae6f250
-                AslGbl_MsgBuffer);
c11325f
+                strp);
c11325f
+	     if (cnt > 0)
c11325f
+	        free(strp);
c11325f
         }
c11325f
         break;
c11325f
     }
c11325f
@@ -698,18 +703,26 @@ TypeErrorExit:
c11325f
 
ae6f250
     AcpiUtGetExpectedReturnTypes (AslGbl_StringBuffer, ExpectedBtypes);
c11325f
 
c11325f
-    if (PackageIndex == ACPI_NOT_PACKAGE_ELEMENT)
c11325f
-    {
ae6f250
-        sprintf (AslGbl_MsgBuffer, "%4.4s: found %s, %s required",
ae6f250
-            PredefinedName, TypeName, AslGbl_StringBuffer);
c11325f
-    }
c11325f
-    else
c11325f
     {
ae6f250
-        sprintf (AslGbl_MsgBuffer, "%4.4s: found %s at index %u, %s required",
ae6f250
-            PredefinedName, TypeName, PackageIndex, AslGbl_StringBuffer);
ae6f250
+	 int cnt;
ae6f250
+	 char *strp;
c11325f
+
c11325f
+        if (PackageIndex == ACPI_NOT_PACKAGE_ELEMENT)
c11325f
+        {
c11325f
+            cnt = asprintf (&strp, "%4.4s: found %s, %s required",
ae6f250
+                PredefinedName, TypeName, AslGbl_StringBuffer);
c11325f
+        }
c11325f
+        else
c11325f
+        {
c11325f
+            cnt = asprintf (&strp, "%4.4s: found %s at index %u, %s required",
ae6f250
+                PredefinedName, TypeName, PackageIndex, AslGbl_StringBuffer);
c11325f
+        }
c11325f
+
ae6f250
+	 AslError (ASL_ERROR, ASL_MSG_RESERVED_OPERAND_TYPE, Op, strp);
ae6f250
+	 if (cnt > 0)
ae6f250
+	     free(strp);
c11325f
     }
c11325f
 
ae6f250
-    AslError (ASL_ERROR, ASL_MSG_RESERVED_OPERAND_TYPE, Op, AslGbl_MsgBuffer);
c11325f
     return (AE_TYPE);
c11325f
 }
c11325f
 
ae6f250
Index: acpica-unix2-20181003/source/compiler/aslwalks.c
c11325f
===================================================================
ae6f250
--- acpica-unix2-20181003.orig/source/compiler/aslwalks.c
ae6f250
+++ acpica-unix2-20181003/source/compiler/aslwalks.c
c11325f
@@ -507,15 +507,19 @@ AnOperandTypecheckWalkEnd (
c11325f
             else if (!CommonBtypes)
c11325f
             {
c11325f
                 /* No match -- this is a type mismatch error */
c11325f
+		int cnt;
c11325f
+		char *strp;
c11325f
 
ae6f250
                 AnFormatBtype (AslGbl_StringBuffer, ThisNodeBtype);
ae6f250
                 AnFormatBtype (AslGbl_StringBuffer2, RequiredBtypes);
c11325f
 
ae6f250
-                sprintf (AslGbl_MsgBuffer, "[%s] found, %s operator requires [%s]",
c11325f
+                cnt = asprintf (&strp, "[%s] found, %s operator requires [%s]",
ae6f250
                     AslGbl_StringBuffer, OpInfo->Name, AslGbl_StringBuffer2);
c11325f
 
c11325f
                 AslError (ASL_ERROR, ASL_MSG_INVALID_TYPE,
ae6f250
-                    ArgOp, AslGbl_MsgBuffer);
c11325f
+                    ArgOp, strp);
c11325f
+		if (cnt > 0)
c11325f
+		    free(strp);
c11325f
             }
c11325f
 
c11325f
         NextArgument: