Avoid out of bounds accesses on non-debug builds.
Coverity ID:
1055744
Signed-off-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
Release-acked-by: Wei Liu <wei.liu2@citrix.com>
if ( (curr->async_exception_mask ^
curr->async_exception_state(trap).old_mask) == (1 << trap) )
break;
- ASSERT(trap <= VCPU_TRAP_LAST);
+ if ( unlikely(trap > VCPU_TRAP_LAST) )
+ {
+ ASSERT_UNREACHABLE();
+ return;
+ }
/* Restore previous asynchronous exception mask. */
curr->async_exception_mask = curr->async_exception_state(trap).old_mask;