|
|
@@ -50,13 +50,13 @@ int manageSyscall(struct s_sandboxenv *env)
|
|
|
int syscall_nr;
|
|
|
|
|
|
#ifdef __x86_64__
|
|
|
- syscall_nr = env->registers.orig_rax;
|
|
|
+ syscall_nr = (int) env->registers.orig_rax;
|
|
|
#else
|
|
|
- syscall_nr = env->registers.orig_eax;
|
|
|
+ syscall_nr = (int) env->registers.orig_eax;
|
|
|
#endif
|
|
|
|
|
|
- if (env->registers.orig_rax >= NR_syscalls ||
|
|
|
- !(ovr_fnc = env->functions[(int) env->registers.orig_rax]))
|
|
|
+ if (syscall_nr >= NR_syscalls ||
|
|
|
+ !(ovr_fnc = env->functions[syscall_nr]))
|
|
|
return 0;
|
|
|
get_args(env);
|
|
|
(ovr_fnc)(env);
|