diff options
author | 2021-03-07 22:53:46 +0000 | |
---|---|---|
committer | 2021-03-07 22:53:46 +0000 | |
commit | c1053d6a5a6ff0c23fa9cda5b6bd2d6feb9d82b6 (patch) | |
tree | 5bb5e4d5948c397f3892c1cccb4b528905d51c6d | |
parent | use the mx hostname for sni on outgoing connection, not the reverse (diff) | |
download | wireguard-openbsd-c1053d6a5a6ff0c23fa9cda5b6bd2d6feb9d82b6.tar.xz wireguard-openbsd-c1053d6a5a6ff0c23fa9cda5b6bd2d6feb9d82b6.zip |
Fix aml_store() to work properly when the lvalue is a reference of
LocalX. In that case, resolving the reference must be done before
resetting the LocalX variable. test daniel
ok kettenis
-rw-r--r-- | sys/dev/acpi/dsdt.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/sys/dev/acpi/dsdt.c b/sys/dev/acpi/dsdt.c index 461c810a878..0cbeeb43d08 100644 --- a/sys/dev/acpi/dsdt.c +++ b/sys/dev/acpi/dsdt.c @@ -1,4 +1,4 @@ -/* $OpenBSD: dsdt.c,v 1.257 2020/12/17 17:57:19 kettenis Exp $ */ +/* $OpenBSD: dsdt.c,v 1.258 2021/03/07 22:53:46 yasuoka Exp $ */ /* * Copyright (c) 2005 Jordan Hargrave <jordan@openbsd.org> * @@ -2961,11 +2961,12 @@ aml_store(struct aml_scope *scope, struct aml_value *lhs , int64_t ival, aml_rwfield(rhs, 0, rhs->v_field.bitlen, &tmp, ACPI_IOREAD); rhs = &tmp; } + + lhs = aml_gettgt(lhs, AMLOP_STORE); + /* Store to LocalX: free value */ if (lhs->stack >= AMLOP_LOCAL0 && lhs->stack <= AMLOP_LOCAL7) aml_freevalue(lhs); - - lhs = aml_gettgt(lhs, AMLOP_STORE); switch (lhs->type) { case AML_OBJTYPE_UNINITIALIZED: aml_copyvalue(lhs, rhs); |