summaryrefslogtreecommitdiff
path: root/libcpu/mips
diff options
context:
space:
mode:
Diffstat (limited to 'libcpu/mips')
-rw-r--r--libcpu/mips/common/exception.c5
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;