diff options
| author | Fabrice Desclaux <fabrice.desclaux@cea.fr> | 2020-04-03 18:39:06 +0200 |
|---|---|---|
| committer | Fabrice Desclaux <fabrice.desclaux@cea.fr> | 2020-04-03 18:39:06 +0200 |
| commit | d4073f9cbcb2b0c4e66a0c1f510a5d892e231232 (patch) | |
| tree | 7b22be2d2733c0535d2ce6b72956116aaa7ee8e0 | |
| parent | 998eefd60f183ccef30ae247353f75c6e1918a47 (diff) | |
| download | miasm-d4073f9cbcb2b0c4e66a0c1f510a5d892e231232.tar.gz miasm-d4073f9cbcb2b0c4e66a0c1f510a5d892e231232.zip | |
X86: fix segm index
| -rw-r--r-- | miasm/jitter/arch/JitCore_x86.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/miasm/jitter/arch/JitCore_x86.c b/miasm/jitter/arch/JitCore_x86.c index 9228507f..9081f3d8 100644 --- a/miasm/jitter/arch/JitCore_x86.c +++ b/miasm/jitter/arch/JitCore_x86.c @@ -414,7 +414,7 @@ PyObject* cpu_set_segm_base(JitCpu* self, PyObject* args) PyGetInt_uint64_t(item1, segm_num); PyGetInt_uint64_t(item2, segm_base); - ((struct vm_cpu*)self->cpu)->segm_base[segm_num] = segm_base; + ((struct vm_cpu*)self->cpu)->segm_base[segm_num & 0xFFFF] = segm_base; Py_INCREF(Py_None); return Py_None; @@ -429,13 +429,13 @@ PyObject* cpu_get_segm_base(JitCpu* self, PyObject* args) if (!PyArg_ParseTuple(args, "O", &item1)) RAISE(PyExc_TypeError,"Cannot parse arguments"); PyGetInt_uint64_t(item1, segm_num); - v = PyLong_FromLong((long)(((struct vm_cpu*)self->cpu)->segm_base[segm_num])); + v = PyLong_FromLong((long)(((struct vm_cpu*)self->cpu)->segm_base[segm_num & 0xFFFF])); return v; } uint64_t segm2addr(JitCpu* jitcpu, uint64_t segm, uint64_t addr) { - return addr + ((struct vm_cpu*)jitcpu->cpu)->segm_base[segm]; + return addr + ((struct vm_cpu*)jitcpu->cpu)->segm_base[segm & 0xFFFF]; } void MEM_WRITE_08(JitCpu* jitcpu, uint64_t addr, uint8_t src) |