Blame SOURCES/0136-tests-Fix-stack-corruption-in-FpiSsm-test.patch

73b847
From a19d2d71acee72ce21cf2722c909c10973e9e963 Mon Sep 17 00:00:00 2001
73b847
From: Benjamin Berg <bberg@redhat.com>
73b847
Date: Tue, 17 Dec 2019 14:23:54 +0100
73b847
Subject: [PATCH 136/181] tests: Fix stack corruption in FpiSsm test
73b847
73b847
Using a function with a void return value for a g_timeout_add is not a
73b847
good idea after all.
73b847
---
73b847
 tests/test-fpi-ssm.c | 26 +++++++++++++++++---------
73b847
 1 file changed, 17 insertions(+), 9 deletions(-)
73b847
73b847
diff --git a/tests/test-fpi-ssm.c b/tests/test-fpi-ssm.c
73b847
index a3bd9da..07e28c0 100644
73b847
--- a/tests/test-fpi-ssm.c
73b847
+++ b/tests/test-fpi-ssm.c
73b847
@@ -39,6 +39,14 @@ typedef struct
73b847
   gboolean     expected_last_state;
73b847
 } FpiSsmTestData;
73b847
 
73b847
+static gboolean
73b847
+fpi_ssm_test_nullify_pointer (gpointer * nullify_location)
73b847
+{
73b847
+  *nullify_location = NULL;
73b847
+
73b847
+  return G_SOURCE_REMOVE;
73b847
+}
73b847
+
73b847
 static FpiSsmTestData *
73b847
 fpi_ssm_test_data_new (void)
73b847
 {
73b847
@@ -334,7 +342,7 @@ test_ssm_next_with_delayed (void)
73b847
   fpi_ssm_next_state (ssm);
73b847
   g_test_assert_expected_messages ();
73b847
 
73b847
-  g_timeout_add (100, (GSourceFunc) g_nullify_pointer, &timeout_tracker);
73b847
+  g_timeout_add (100, G_SOURCE_FUNC (fpi_ssm_test_nullify_pointer), &timeout_tracker);
73b847
   while (timeout_tracker)
73b847
     g_main_context_iteration (NULL, TRUE);
73b847
 
73b847
@@ -442,7 +450,7 @@ test_ssm_jump_to_state_with_delayed (void)
73b847
   fpi_ssm_jump_to_state (ssm, FPI_TEST_SSM_STATE_2);
73b847
   g_test_assert_expected_messages ();
73b847
 
73b847
-  g_timeout_add (100, (GSourceFunc) g_nullify_pointer, &timeout_tracker);
73b847
+  g_timeout_add (100, G_SOURCE_FUNC (fpi_ssm_test_nullify_pointer), &timeout_tracker);
73b847
   while (timeout_tracker)
73b847
     g_main_context_iteration (NULL, TRUE);
73b847
 
73b847
@@ -559,7 +567,7 @@ test_ssm_mark_completed_with_delayed (void)
73b847
   fpi_ssm_mark_completed (g_steal_pointer (&ssm);;
73b847
   g_test_assert_expected_messages ();
73b847
 
73b847
-  g_timeout_add (100, (GSourceFunc) g_nullify_pointer, &timeout_tracker);
73b847
+  g_timeout_add (100, G_SOURCE_FUNC (fpi_ssm_test_nullify_pointer), &timeout_tracker);
73b847
   while (timeout_tracker)
73b847
     g_main_context_iteration (NULL, TRUE);
73b847
 
73b847
@@ -623,7 +631,7 @@ test_ssm_mark_failed_with_delayed (void)
73b847
                        fpi_device_error_new (FP_DEVICE_ERROR_PROTO));
73b847
   g_test_assert_expected_messages ();
73b847
 
73b847
-  g_timeout_add (100, (GSourceFunc) g_nullify_pointer, &timeout_tracker);
73b847
+  g_timeout_add (100, G_SOURCE_FUNC (fpi_ssm_test_nullify_pointer), &timeout_tracker);
73b847
   while (timeout_tracker)
73b847
     g_main_context_iteration (NULL, TRUE);
73b847
 
73b847
@@ -680,7 +688,7 @@ test_ssm_delayed_next_cancel (void)
73b847
   g_assert_cmpuint (g_slist_length (data->handlers_chain), ==, 1);
73b847
 
73b847
   g_idle_add_full (G_PRIORITY_HIGH, test_ssm_cancel_delayed_action_delayed, ssm, NULL);
73b847
-  g_timeout_add (100, (GSourceFunc) g_nullify_pointer, &timeout_tracker);
73b847
+  g_timeout_add (100, G_SOURCE_FUNC (fpi_ssm_test_nullify_pointer), &timeout_tracker);
73b847
 
73b847
   while (timeout_tracker)
73b847
     g_main_context_iteration (NULL, TRUE);
73b847
@@ -875,7 +883,7 @@ test_ssm_delayed_jump_to_state_cancel (void)
73b847
   g_assert_cmpuint (g_slist_length (data->handlers_chain), ==, 1);
73b847
 
73b847
   g_idle_add_full (G_PRIORITY_HIGH, test_ssm_cancel_delayed_action_delayed, ssm, NULL);
73b847
-  g_timeout_add (100, (GSourceFunc) g_nullify_pointer, &timeout_tracker);
73b847
+  g_timeout_add (100, G_SOURCE_FUNC (fpi_ssm_test_nullify_pointer), &timeout_tracker);
73b847
 
73b847
   while (timeout_tracker)
73b847
     g_main_context_iteration (NULL, TRUE);
73b847
@@ -1058,7 +1066,7 @@ test_ssm_delayed_mark_completed_not_started (void)
73b847
   fpi_ssm_mark_completed_delayed (ssm, 10, NULL);
73b847
   g_test_assert_expected_messages ();
73b847
 
73b847
-  g_timeout_add (100, (GSourceFunc) g_nullify_pointer, &ssm);
73b847
+  g_timeout_add (100, G_SOURCE_FUNC (fpi_ssm_test_nullify_pointer), &ssm);
73b847
 
73b847
   g_test_expect_message (G_LOG_DOMAIN, G_LOG_LEVEL_CRITICAL, "*BUG:*completed*");
73b847
   while (ssm != NULL)
73b847
@@ -1088,7 +1096,7 @@ test_ssm_delayed_mark_completed_cancel (void)
73b847
   g_assert_cmpuint (g_slist_length (data->handlers_chain), ==, 1);
73b847
 
73b847
   g_idle_add_full (G_PRIORITY_HIGH, test_ssm_cancel_delayed_action_delayed, ssm, NULL);
73b847
-  g_timeout_add (100, (GSourceFunc) g_nullify_pointer, &timeout_tracker);
73b847
+  g_timeout_add (100, G_SOURCE_FUNC (fpi_ssm_test_nullify_pointer), &timeout_tracker);
73b847
 
73b847
   while (timeout_tracker)
73b847
     g_main_context_iteration (NULL, TRUE);
73b847
@@ -1312,7 +1320,7 @@ test_ssm_subssm_start_with_delayed (void)
73b847
   fpi_ssm_start_subsm (ssm, subssm);
73b847
   g_test_assert_expected_messages ();
73b847
 
73b847
-  g_timeout_add (100, (GSourceFunc) g_nullify_pointer, &timeout_tracker);
73b847
+  g_timeout_add (100, G_SOURCE_FUNC (fpi_ssm_test_nullify_pointer), &timeout_tracker);
73b847
   while (timeout_tracker)
73b847
     g_main_context_iteration (NULL, TRUE);
73b847
 
73b847
-- 
73b847
2.24.1
73b847