qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH] linux-user: Assert on bad type in thunk_type_align() and thunk_type_size()
@ 2018-05-14 17:46 Peter Maydell
  2018-05-14 18:23 ` Laurent Vivier
  0 siblings, 1 reply; 2+ messages in thread
From: Peter Maydell @ 2018-05-14 17:46 UTC (permalink / raw)
  To: qemu-devel; +Cc: patches, Laurent Vivier, Riku Voipio

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 <peter.maydell@linaro.org>
---
 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 f19ef4b230..840d6d899b 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();
     }
 }
 
@@ -173,7 +173,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.17.0

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [Qemu-devel] [PATCH] linux-user: Assert on bad type in thunk_type_align() and thunk_type_size()
  2018-05-14 17:46 [Qemu-devel] [PATCH] linux-user: Assert on bad type in thunk_type_align() and thunk_type_size() Peter Maydell
@ 2018-05-14 18:23 ` Laurent Vivier
  0 siblings, 0 replies; 2+ messages in thread
From: Laurent Vivier @ 2018-05-14 18:23 UTC (permalink / raw)
  To: Peter Maydell, qemu-devel; +Cc: patches, Riku Voipio

Le 14/05/2018 à 19:46, Peter Maydell a écrit :
> 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 <peter.maydell@linaro.org>
> ---
>  include/exec/user/thunk.h | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)

Reviewed-by: Laurent Vivier <laurent@vivier.eu>

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2018-05-14 18:23 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-05-14 17:46 [Qemu-devel] [PATCH] linux-user: Assert on bad type in thunk_type_align() and thunk_type_size() Peter Maydell
2018-05-14 18:23 ` Laurent Vivier

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).