diff options
Diffstat (limited to 'libcpu')
| -rw-r--r-- | libcpu/mips/common/exception.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/libcpu/mips/common/exception.c b/libcpu/mips/common/exception.c index ca048a926b..5c458c9eb1 100644 --- a/libcpu/mips/common/exception.c +++ b/libcpu/mips/common/exception.c @@ -82,13 +82,14 @@ exception_func_t sys_exception_handlers[RT_EXCEPTION_MAX]; */ exception_func_t rt_set_except_vector(int n, exception_func_t func) { - exception_func_t old_handler = sys_exception_handlers[n]; + exception_func_t old_handler; - if ((n == 0) || (n > RT_EXCEPTION_MAX) || (!func)) + if ((n < 0) || (n >= RT_EXCEPTION_MAX) || (!func)) { return 0; } + old_handler = sys_exception_handlers[n]; sys_exception_handlers[n] = func; return old_handler; |
