ntdll: Fix off-by-one errors in __wine_set_signal_handler.
Sebastian Lackner
sebastian at fds-team.de
Mon Mar 28 00:20:08 CDT 2016
Signed-off-by: Sebastian Lackner <sebastian at fds-team.de>
---
NOTE: I've only tested the x86_64 case, but since the code is identical, I've
updated the other architectures aswell.
dlls/ntdll/signal_arm.c | 2 +-
dlls/ntdll/signal_arm64.c | 2 +-
dlls/ntdll/signal_powerpc.c | 2 +-
dlls/ntdll/signal_x86_64.c | 2 +-
4 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/dlls/ntdll/signal_arm.c b/dlls/ntdll/signal_arm.c
index 5ee9f45..cb5f67d 100644
--- a/dlls/ntdll/signal_arm.c
+++ b/dlls/ntdll/signal_arm.c
@@ -860,7 +860,7 @@ static void usr1_handler( int signal, siginfo_t *siginfo, void *sigcontext )
*/
int CDECL __wine_set_signal_handler(unsigned int sig, wine_signal_handler wsh)
{
- if (sig > sizeof(handlers) / sizeof(handlers[0])) return -1;
+ if (sig >= sizeof(handlers) / sizeof(handlers[0])) return -1;
if (handlers[sig] != NULL) return -2;
handlers[sig] = wsh;
return 0;
diff --git a/dlls/ntdll/signal_arm64.c b/dlls/ntdll/signal_arm64.c
index 3a41c84..14c5260 100644
--- a/dlls/ntdll/signal_arm64.c
+++ b/dlls/ntdll/signal_arm64.c
@@ -732,7 +732,7 @@ static void usr1_handler( int signal, siginfo_t *siginfo, void *sigcontext )
*/
int CDECL __wine_set_signal_handler(unsigned int sig, wine_signal_handler wsh)
{
- if (sig > sizeof(handlers) / sizeof(handlers[0])) return -1;
+ if (sig >= sizeof(handlers) / sizeof(handlers[0])) return -1;
if (handlers[sig] != NULL) return -2;
handlers[sig] = wsh;
return 0;
diff --git a/dlls/ntdll/signal_powerpc.c b/dlls/ntdll/signal_powerpc.c
index 886da86..507490a 100644
--- a/dlls/ntdll/signal_powerpc.c
+++ b/dlls/ntdll/signal_powerpc.c
@@ -940,7 +940,7 @@ static void usr1_handler( int signal, siginfo_t *siginfo, void *sigcontext )
*/
int CDECL __wine_set_signal_handler(unsigned int sig, wine_signal_handler wsh)
{
- if (sig > sizeof(handlers) / sizeof(handlers[0])) return -1;
+ if (sig >= sizeof(handlers) / sizeof(handlers[0])) return -1;
if (handlers[sig] != NULL) return -2;
handlers[sig] = wsh;
return 0;
diff --git a/dlls/ntdll/signal_x86_64.c b/dlls/ntdll/signal_x86_64.c
index 1e88df3..a79fd6e 100644
--- a/dlls/ntdll/signal_x86_64.c
+++ b/dlls/ntdll/signal_x86_64.c
@@ -2762,7 +2762,7 @@ static void usr1_handler( int signal, siginfo_t *siginfo, void *ucontext )
*/
int CDECL __wine_set_signal_handler(unsigned int sig, wine_signal_handler wsh)
{
- if (sig > sizeof(handlers) / sizeof(handlers[0])) return -1;
+ if (sig >= sizeof(handlers) / sizeof(handlers[0])) return -1;
if (handlers[sig] != NULL) return -2;
handlers[sig] = wsh;
return 0;
--
2.7.1
More information about the wine-patches
mailing list