@@ -160,6 +160,13 @@ TEST_P(CoarseWithMemoryStrategyTest, coarseTest_basic_provider) {
160160 ASSERT_EQ (coarse_get_stats (ch).alloc_size , alloc_size);
161161 ASSERT_EQ (coarse_get_stats (ch).num_all_blocks , 1 );
162162
163+ // test double free
164+ umf_result = coarse_free (ch, ptr, 2 * MB);
165+ ASSERT_EQ (umf_result, UMF_RESULT_ERROR_INVALID_ARGUMENT);
166+ ASSERT_EQ (coarse_get_stats (ch).used_size , 0 );
167+ ASSERT_EQ (coarse_get_stats (ch).alloc_size , alloc_size);
168+ ASSERT_EQ (coarse_get_stats (ch).num_all_blocks , 1 );
169+
163170 coarse_delete (ch);
164171 umfMemoryProviderDestroy (malloc_memory_provider);
165172}
@@ -202,6 +209,13 @@ TEST_P(CoarseWithMemoryStrategyTest, coarseTest_basic_fixed_memory) {
202209 ASSERT_EQ (coarse_get_stats (ch).alloc_size , buff_size);
203210 ASSERT_EQ (coarse_get_stats (ch).num_all_blocks , 1 );
204211
212+ // test double free
213+ umf_result = coarse_free (ch, ptr, 2 * MB);
214+ ASSERT_EQ (umf_result, UMF_RESULT_ERROR_INVALID_ARGUMENT);
215+ ASSERT_EQ (coarse_get_stats (ch).used_size , 0 );
216+ ASSERT_EQ (coarse_get_stats (ch).alloc_size , buff_size);
217+ ASSERT_EQ (coarse_get_stats (ch).num_all_blocks , 1 );
218+
205219 coarse_delete (ch);
206220}
207221
0 commit comments