diff options
| author | serpilliere <serpilliere@users.noreply.github.com> | 2020-04-03 20:34:54 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-04-03 20:34:54 +0200 |
| commit | 7f0410a5e9b70070fa9187b5613dc3b1692908a2 (patch) | |
| tree | 7b22be2d2733c0535d2ce6b72956116aaa7ee8e0 | |
| parent | 998eefd60f183ccef30ae247353f75c6e1918a47 (diff) | |
| parent | d4073f9cbcb2b0c4e66a0c1f510a5d892e231232 (diff) | |
| download | miasm-7f0410a5e9b70070fa9187b5613dc3b1692908a2.tar.gz miasm-7f0410a5e9b70070fa9187b5613dc3b1692908a2.zip | |
Merge pull request #1174 from serpilliere/fix_segm
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) |