diff options
| author | Andreas Schwab | 2013-07-02 15:04:12 +0200 |
|---|---|---|
| committer | Riku Voipio | 2013-07-05 14:45:40 +0200 |
| commit | 167c50d8f94e0ffb880aa5cd2a232a3f32f0df1d (patch) | |
| tree | adec4f2495cc7c36b906e76ae77752ddd9b74e58 /linux-user | |
| parent | linux-user: add SIOCADDRT/SIOCDELRT support (diff) | |
| download | qemu-167c50d8f94e0ffb880aa5cd2a232a3f32f0df1d.tar.gz qemu-167c50d8f94e0ffb880aa5cd2a232a3f32f0df1d.tar.xz qemu-167c50d8f94e0ffb880aa5cd2a232a3f32f0df1d.zip | |
linux-user: fix signal number range check
When translating between host and target signal numbers keep negative
numbers unchanged, avoiding access beyond array bounds.
Signed-off-by: Andreas Schwab <schwab@linux-m68k.org>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Message-id: 878v2b8sek.fsf@igel.home
Diffstat (limited to 'linux-user')
| -rw-r--r-- | linux-user/signal.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/linux-user/signal.c b/linux-user/signal.c index c4e20dc8b9..d84e189bc8 100644 --- a/linux-user/signal.c +++ b/linux-user/signal.c @@ -102,14 +102,14 @@ static inline int sas_ss_flags(unsigned long sp) int host_to_target_signal(int sig) { - if (sig >= _NSIG) + if (sig < 0 || sig >= _NSIG) return sig; return host_to_target_signal_table[sig]; } int target_to_host_signal(int sig) { - if (sig >= _NSIG) + if (sig < 0 || sig >= _NSIG) return sig; return target_to_host_signal_table[sig]; } |
