diff --git a/gio/tests/gsubprocess.c b/gio/tests/gsubprocess.c index 036c2afad..515a11267 100644 --- a/gio/tests/gsubprocess.c +++ b/gio/tests/gsubprocess.c @@ -757,11 +757,15 @@ on_communicate_complete (GObject *proc, { if (data->is_utf8) { + g_assert_nonnull (stdout_str); stdout_data = (guint8*)stdout_str; stdout_len = strlen (stdout_str); } else - stdout_data = g_bytes_get_data (stdout_bytes, &stdout_len); + { + g_assert_nonnull (stdout_bytes); + stdout_data = g_bytes_get_data (stdout_bytes, &stdout_len); + } g_assert_cmpmem (stdout_data, stdout_len, "# hello world" LINEEND, 13 + strlen (LINEEND)); } diff --git a/glib/gslice.c b/glib/gslice.c index 36fa0841f..56f217d32 100644 --- a/glib/gslice.c +++ b/glib/gslice.c @@ -212,7 +212,7 @@ #endif /* special helpers to avoid gmessage.c dependency */ -static void mem_error (const char *format, ...) G_GNUC_PRINTF (1,2); +G_NORETURN static void mem_error (const char *format, ...) G_GNUC_PRINTF (1,2) G_ANALYZER_NORETURN; #define mem_assert(cond) do { if (G_LIKELY (cond)) ; else mem_error ("assertion failed: %s", #cond); } while (0) /* --- structures --- */ diff --git a/glib/gvariant-serialiser.c b/glib/gvariant-serialiser.c index d5970d2d1..6ebaec7d4 100644 --- a/glib/gvariant-serialiser.c +++ b/glib/gvariant-serialiser.c @@ -983,6 +983,10 @@ gvs_tuple_needed_size (GVariantTypeInfo *type_info, offset = 0; + /* We must go through at least one iteration below. If the tuple had no + * children, it would have a fixed size. */ + g_assert (n_children > 0); + for (i = 0; i < n_children; i++) { guint alignment;