Revision 3ca05588 linux-user/signal.c

b/linux-user/signal.c
44 44
static void host_signal_handler(int host_signum, siginfo_t *info,
45 45
                                void *puc);
46 46

  
47
static uint8_t host_to_target_signal_table[65] = {
47
static uint8_t host_to_target_signal_table[_NSIG] = {
48 48
    [SIGHUP] = TARGET_SIGHUP,
49 49
    [SIGINT] = TARGET_SIGINT,
50 50
    [SIGQUIT] = TARGET_SIGQUIT,
......
87 87
    [__SIGRTMIN] = __SIGRTMAX,
88 88
    [__SIGRTMAX] = __SIGRTMIN,
89 89
};
90
static uint8_t target_to_host_signal_table[65];
90
static uint8_t target_to_host_signal_table[_NSIG];
91 91

  
92 92
static inline int on_sig_stack(unsigned long sp)
93 93
{
......
103 103

  
104 104
int host_to_target_signal(int sig)
105 105
{
106
    if (sig > 64)
106
    if (sig >= _NSIG)
107 107
        return sig;
108 108
    return host_to_target_signal_table[sig];
109 109
}
110 110

  
111 111
int target_to_host_signal(int sig)
112 112
{
113
    if (sig > 64)
113
    if (sig >= _NSIG)
114 114
        return sig;
115 115
    return target_to_host_signal_table[sig];
116 116
}
......
311 311
    int host_sig;
312 312

  
313 313
    /* generate signal conversion tables */
314
    for(i = 1; i <= 64; i++) {
314
    for(i = 1; i < _NSIG; i++) {
315 315
        if (host_to_target_signal_table[i] == 0)
316 316
            host_to_target_signal_table[i] = i;
317 317
    }
318
    for(i = 1; i <= 64; i++) {
318
    for(i = 1; i < _NSIG; i++) {
319 319
        j = host_to_target_signal_table[i];
320 320
        target_to_host_signal_table[j] = i;
321 321
    }

Also available in: Unified diff