diff options
author | aliguori <aliguori@c046a42c-6fe2-441c-8c8c-71466251a162> | 2009-03-20 16:13:41 +0000 |
---|---|---|
committer | aliguori <aliguori@c046a42c-6fe2-441c-8c8c-71466251a162> | 2009-03-20 16:13:41 +0000 |
commit | dc1ded53b8cd9198da193e44b25815cdd2ddb6f5 (patch) | |
tree | af2ce0f0535819cc1cda8292a685a3b46a146464 | |
parent | c522d0e2dee3774884a731691a702126901a1a88 (diff) |
x86: Add NULL check to lsl (Jan Kiszka)
According to the Intel specs, lsl performs a check against NULL for the
provided selector, just like lar does. helper_lar() includes the
corresponding code, helper_lsl() was lacking it so far.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6863 c046a42c-6fe2-441c-8c8c-71466251a162
-rw-r--r-- | target-i386/op_helper.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/target-i386/op_helper.c b/target-i386/op_helper.c index 25e079b8fd..be092637a0 100644 --- a/target-i386/op_helper.c +++ b/target-i386/op_helper.c @@ -3241,6 +3241,8 @@ target_ulong helper_lsl(target_ulong selector1) selector = selector1 & 0xffff; eflags = helper_cc_compute_all(CC_OP); + if ((selector & 0xfffc) == 0) + goto fail; if (load_segment(&e1, &e2, selector) != 0) goto fail; rpl = selector & 3; |