From: Max Filippov Date: Thu, 18 Sep 2014 05:03:36 +0000 (-0700) Subject: exec.c: fix setting 1-byte-long watchpoints X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=07e2863d0271ac6c05206d8ce9e4f4c39b25d3ea;p=qmiga%2Fqemu.git exec.c: fix setting 1-byte-long watchpoints With commit 05068c0dfb5b 'exec.c: Relax restrictions on watchpoint length and alignment' it's no longer possible to set 1-byte-long watchpoint because of incorrect address range check. Fix that by changing condition that checks for address wraparound. Signed-off-by: Max Filippov Reviewed-by: Peter Maydell Message-id: 1411016616-29879-1-git-send-email-jcmvbkbc@gmail.com Signed-off-by: Peter Maydell --- diff --git a/exec.c b/exec.c index 2b2465117e..759055d0e3 100644 --- a/exec.c +++ b/exec.c @@ -595,7 +595,7 @@ int cpu_watchpoint_insert(CPUState *cpu, vaddr addr, vaddr len, CPUWatchpoint *wp; /* forbid ranges which are empty or run off the end of the address space */ - if (len == 0 || (addr + len - 1) <= addr) { + if (len == 0 || (addr + len - 1) < addr) { error_report("tried to set invalid watchpoint at %" VADDR_PRIx ", len=%" VADDR_PRIu, addr, len); return -EINVAL;