aboutsummaryrefslogtreecommitdiff
path: root/tests/unit/ptimer-test.c
diff options
context:
space:
mode:
authorPhilippe Mathieu-Daudé <philmd@redhat.com>2021-09-03 19:45:05 +0200
committerThomas Huth <thuth@redhat.com>2022-07-18 20:24:36 +0200
commitc4f8ce24de81162d925ca24db8adb194b47fffb8 (patch)
treecc42a041b47a40c66eb4865eac6dab269cf67a10 /tests/unit/ptimer-test.c
parente18f27d9ed6132b774910e6ce6999cfc59822e67 (diff)
downloadqemu-c4f8ce24de81162d925ca24db8adb194b47fffb8.zip
qemu-c4f8ce24de81162d925ca24db8adb194b47fffb8.tar.gz
qemu-c4f8ce24de81162d925ca24db8adb194b47fffb8.tar.bz2
tests/unit: Replace g_memdup() by g_memdup2()
Per https://discourse.gnome.org/t/port-your-module-from-g-memdup-to-g-memdup2-now/5538 The old API took the size of the memory to duplicate as a guint, whereas most memory functions take memory sizes as a gsize. This made it easy to accidentally pass a gsize to g_memdup(). For large values, that would lead to a silent truncation of the size from 64 to 32 bits, and result in a heap area being returned which is significantly smaller than what the caller expects. This can likely be exploited in various modules to cause a heap buffer overflow. Replace g_memdup() by the safer g_memdup2() wrapper. Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com> Message-Id: <20210903174510.751630-24-philmd@redhat.com> Signed-off-by: Thomas Huth <thuth@redhat.com>
Diffstat (limited to 'tests/unit/ptimer-test.c')
-rw-r--r--tests/unit/ptimer-test.c22
1 files changed, 11 insertions, 11 deletions
diff --git a/tests/unit/ptimer-test.c b/tests/unit/ptimer-test.c
index a80ef5a..04b5f4e 100644
--- a/tests/unit/ptimer-test.c
+++ b/tests/unit/ptimer-test.c
@@ -798,64 +798,64 @@ static void add_ptimer_tests(uint8_t policy)
g_test_add_data_func_full(
tmp = g_strdup_printf("/ptimer/set_count policy=%s", policy_name),
- g_memdup(&policy, 1), check_set_count, g_free);
+ g_memdup2(&policy, 1), check_set_count, g_free);
g_free(tmp);
g_test_add_data_func_full(
tmp = g_strdup_printf("/ptimer/set_limit policy=%s", policy_name),
- g_memdup(&policy, 1), check_set_limit, g_free);
+ g_memdup2(&policy, 1), check_set_limit, g_free);
g_free(tmp);
g_test_add_data_func_full(
tmp = g_strdup_printf("/ptimer/oneshot policy=%s", policy_name),
- g_memdup(&policy, 1), check_oneshot, g_free);
+ g_memdup2(&policy, 1), check_oneshot, g_free);
g_free(tmp);
g_test_add_data_func_full(
tmp = g_strdup_printf("/ptimer/periodic policy=%s", policy_name),
- g_memdup(&policy, 1), check_periodic, g_free);
+ g_memdup2(&policy, 1), check_periodic, g_free);
g_free(tmp);
g_test_add_data_func_full(
tmp = g_strdup_printf("/ptimer/on_the_fly_mode_change policy=%s",
policy_name),
- g_memdup(&policy, 1), check_on_the_fly_mode_change, g_free);
+ g_memdup2(&policy, 1), check_on_the_fly_mode_change, g_free);
g_free(tmp);
g_test_add_data_func_full(
tmp = g_strdup_printf("/ptimer/on_the_fly_period_change policy=%s",
policy_name),
- g_memdup(&policy, 1), check_on_the_fly_period_change, g_free);
+ g_memdup2(&policy, 1), check_on_the_fly_period_change, g_free);
g_free(tmp);
g_test_add_data_func_full(
tmp = g_strdup_printf("/ptimer/on_the_fly_freq_change policy=%s",
policy_name),
- g_memdup(&policy, 1), check_on_the_fly_freq_change, g_free);
+ g_memdup2(&policy, 1), check_on_the_fly_freq_change, g_free);
g_free(tmp);
g_test_add_data_func_full(
tmp = g_strdup_printf("/ptimer/run_with_period_0 policy=%s",
policy_name),
- g_memdup(&policy, 1), check_run_with_period_0, g_free);
+ g_memdup2(&policy, 1), check_run_with_period_0, g_free);
g_free(tmp);
g_test_add_data_func_full(
tmp = g_strdup_printf("/ptimer/run_with_delta_0 policy=%s",
policy_name),
- g_memdup(&policy, 1), check_run_with_delta_0, g_free);
+ g_memdup2(&policy, 1), check_run_with_delta_0, g_free);
g_free(tmp);
g_test_add_data_func_full(
tmp = g_strdup_printf("/ptimer/periodic_with_load_0 policy=%s",
policy_name),
- g_memdup(&policy, 1), check_periodic_with_load_0, g_free);
+ g_memdup2(&policy, 1), check_periodic_with_load_0, g_free);
g_free(tmp);
g_test_add_data_func_full(
tmp = g_strdup_printf("/ptimer/oneshot_with_load_0 policy=%s",
policy_name),
- g_memdup(&policy, 1), check_oneshot_with_load_0, g_free);
+ g_memdup2(&policy, 1), check_oneshot_with_load_0, g_free);
g_free(tmp);
}