Module Name:src
Committed By: martin
Date: Sun Sep 18 13:28:49 UTC 2022
Modified Files:
src/sys/external/bsd/acpica/dist/dispatcher [netbsd-9]: dswexec.c
Log Message:
Pull up following revision(s) (requested by msaitoh in ticket #1527):
sys/external/bsd/acpica/dist/dispatcher/dswexec.c: revision 1.2
Fix out of range access in AcpiDsExecEndOp().
- Found by kUBSan.
- See: https://github.com/acpica/acpica/pull/745
To generate a diff of this commit:
cvs rdiff -u -r1.1.1.12 -r1.1.1.12.2.1 \
src/sys/external/bsd/acpica/dist/dispatcher/dswexec.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/external/bsd/acpica/dist/dispatcher/dswexec.c
diff -u src/sys/external/bsd/acpica/dist/dispatcher/dswexec.c:1.1.1.12 src/sys/external/bsd/acpica/dist/dispatcher/dswexec.c:1.1.1.12.2.1
--- src/sys/external/bsd/acpica/dist/dispatcher/dswexec.c:1.1.1.12 Mon Apr 29 00:29:54 2019
+++ src/sys/external/bsd/acpica/dist/dispatcher/dswexec.c Sun Sep 18 13:28:49 2022
@@ -456,9 +456,11 @@ AcpiDsExecEndOp (
/*
* All opcodes require operand resolution, with the only exceptions
- * being the ObjectType and SizeOf operators.
+ * being the ObjectType and SizeOf operators as well as operands that
+ * take no arguments.
*/
-if (!(WalkState->OpInfo->Flags & AML_NO_OPERAND_RESOLVE))
+if (!(WalkState->OpInfo->Flags & AML_NO_OPERAND_RESOLVE) &&
+ (WalkState->OpInfo->Flags & AML_HAS_ARGS))
{
/* Resolve all operands */