linux-user: Check array bounds in errno conversion
Check array bounds in host_to_target_errno() and target_to_host_errno(). Signed-off-by: Timothy Edward Baldwin <T.E.Baldwin99@members.leeds.ac.uk> Message-id: 1441497448-32489-2-git-send-email-T.E.Baldwin99@members.leeds.ac.uk [PMM: Add a lower-bound check, use braces on if(), tweak commit message] Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Riku Voipio <riku.voipio@linaro.org> Reviewed-by: Laurent Vivier <laurent@vivier.eu>
This commit is contained in:
parent
287db79df8
commit
2466119c95
@ -619,15 +619,19 @@ static uint16_t host_to_target_errno_table[ERRNO_TABLE_SIZE] = {
|
||||
|
||||
static inline int host_to_target_errno(int err)
|
||||
{
|
||||
if(host_to_target_errno_table[err])
|
||||
if (err >= 0 && err < ERRNO_TABLE_SIZE &&
|
||||
host_to_target_errno_table[err]) {
|
||||
return host_to_target_errno_table[err];
|
||||
}
|
||||
return err;
|
||||
}
|
||||
|
||||
static inline int target_to_host_errno(int err)
|
||||
{
|
||||
if (target_to_host_errno_table[err])
|
||||
if (err >= 0 && err < ERRNO_TABLE_SIZE &&
|
||||
target_to_host_errno_table[err]) {
|
||||
return target_to_host_errno_table[err];
|
||||
}
|
||||
return err;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user