@@ -160,6 +160,13 @@ TEST_P(CoarseWithMemoryStrategyTest, coarseTest_basic_provider) {
160
160
ASSERT_EQ (coarse_get_stats (ch).alloc_size , alloc_size);
161
161
ASSERT_EQ (coarse_get_stats (ch).num_all_blocks , 1 );
162
162
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
+
163
170
coarse_delete (ch);
164
171
umfMemoryProviderDestroy (malloc_memory_provider);
165
172
}
@@ -202,6 +209,13 @@ TEST_P(CoarseWithMemoryStrategyTest, coarseTest_basic_fixed_memory) {
202
209
ASSERT_EQ (coarse_get_stats (ch).alloc_size , buff_size);
203
210
ASSERT_EQ (coarse_get_stats (ch).num_all_blocks , 1 );
204
211
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
+
205
219
coarse_delete (ch);
206
220
}
207
221
0 commit comments