diff --git a/mixlib/xmix_vm.c b/mixlib/xmix_vm.c index cf20ee1..8735962 100644 --- a/mixlib/xmix_vm.c +++ b/mixlib/xmix_vm.c @@ -333,7 +333,7 @@ inp_handler_ (mix_vm_t *vm, const mix_ins_t *ins) dev = get_dev_ (vm, ins->fspec); fail_if_not_ (vm, dev != NULL, MIX_VM_ERROR_BAD_DEVICE_NO); - fail_if_not_ (vm, MEM_CELLS_NO_ - addr > mix_device_block_size (dev), + fail_if_not_ (vm, MEM_CELLS_NO_ - addr >= mix_device_block_size (dev), MIX_VM_ERROR_BAD_ACCESS); fail_if_not_ (vm, mix_device_read (dev, get_cell_ptr_ (vm, addr)), @@ -359,7 +359,7 @@ out_handler_ (mix_vm_t *vm, const mix_ins_t *ins) dev = get_dev_ (vm, ins->fspec); fail_if_not_ (vm, dev != NULL, MIX_VM_ERROR_BAD_DEVICE_NO); - fail_if_not_ (vm, MEM_CELLS_NO_ - addr > mix_device_block_size (dev), + fail_if_not_ (vm, MEM_CELLS_NO_ - addr >= mix_device_block_size (dev), MIX_VM_ERROR_BAD_ACCESS); fail_if_not_ (vm, mix_device_write (dev, get_cell_ptr_ (vm, addr)),