[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 01/13] linux-user: Assert on bad type in thunk_type_a
From: |
Laurent Vivier |
Subject: |
[Qemu-devel] [PULL 01/13] linux-user: Assert on bad type in thunk_type_align() and thunk_type_size() |
Date: |
Fri, 25 May 2018 10:17:42 +0200 |
From: Peter Maydell <address@hidden>
In thunk_type_align() and thunk_type_size() we currently return
-1 if the value at the type_ptr isn't one of the TYPE_* values
we understand. However, this should never happen, and if it does
then the calling code will go confusingly wrong because none
of the callsites try to handle an error return. Switch to an
assertion instead, so that if this does somehow happen we'll have
a nice clear backtrace of what happened rather than a weird crash
or misbehaviour.
This also silences various Coverity complaints about not handling
the negative return value (CID 1005735, 1005736, 1005738, 1390582).
Signed-off-by: Peter Maydell <address@hidden>
Reviewed-by: Laurent Vivier <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Laurent Vivier <address@hidden>
---
include/exec/user/thunk.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/include/exec/user/thunk.h b/include/exec/user/thunk.h
index 8f55b233b3..8d3af5a3be 100644
--- a/include/exec/user/thunk.h
+++ b/include/exec/user/thunk.h
@@ -135,7 +135,7 @@ static inline int thunk_type_size(const argtype *type_ptr,
int is_host)
se = struct_entries + type_ptr[1];
return se->size[is_host];
default:
- return -1;
+ g_assert_not_reached();
}
}
@@ -185,7 +185,7 @@ static inline int thunk_type_align(const argtype *type_ptr,
int is_host)
se = struct_entries + type_ptr[1];
return se->align[is_host];
default:
- return -1;
+ g_assert_not_reached();
}
}
--
2.14.3
- [Qemu-devel] [PULL 00/13] Linux user for 2.13 patches, Laurent Vivier, 2018/05/25
- [Qemu-devel] [PULL 09/13] linux-user: move ppc socket.h definitions to ppc/sockbits.h, Laurent Vivier, 2018/05/25
- [Qemu-devel] [PULL 04/13] linux-user: Fix payload size logic in host_to_target_cmsg(), Laurent Vivier, 2018/05/25
- [Qemu-devel] [PULL 13/13] gdbstub: Clarify what gdb_handlesig() is doing, Laurent Vivier, 2018/05/25
- [Qemu-devel] [PULL 01/13] linux-user: Assert on bad type in thunk_type_align() and thunk_type_size(),
Laurent Vivier <=
- [Qemu-devel] [PULL 05/13] linux-user: move mips socket.h definitions to mips/sockbits.h, Laurent Vivier, 2018/05/25
- [Qemu-devel] [PULL 12/13] linux-user: define TARGET_SO_REUSEPORT, Laurent Vivier, 2018/05/25
- [Qemu-devel] [PULL 03/13] linux-user: update comments to point to tcg_exec_init(), Laurent Vivier, 2018/05/25
- [Qemu-devel] [PULL 06/13] linux-user: move alpha socket.h definitions to alpha/sockbits.h, Laurent Vivier, 2018/05/25
- [Qemu-devel] [PULL 08/13] linux-user: move socket.h generic definitions to generic/sockbits.h, Laurent Vivier, 2018/05/25
- [Qemu-devel] [PULL 02/13] linux-user: update netlink emulation, Laurent Vivier, 2018/05/25
- [Qemu-devel] [PULL 11/13] linux-user: copy sparc/sockbits.h definitions from linux, Laurent Vivier, 2018/05/25
- [Qemu-devel] [PULL 10/13] linux-user: update ARCH_HAS_SOCKET_TYPES use, Laurent Vivier, 2018/05/25
- [Qemu-devel] [PULL 07/13] linux-user: move sparc/sparc64 socket.h definitions to sparc/sockbits.h, Laurent Vivier, 2018/05/25
- Re: [Qemu-devel] [PULL 00/13] Linux user for 2.13 patches, no-reply, 2018/05/25