@@ -246,8 +246,10 @@ ep_provider_callback_data_alloc_copy (EventPipeProviderCallbackData *provider_ca
246246 EventPipeProviderCallbackData * instance = ep_rt_object_alloc (EventPipeProviderCallbackData );
247247 ep_raise_error_if_nok (instance != NULL );
248248
249- if (provider_callback_data_src )
249+ if (provider_callback_data_src ) {
250250 * instance = * provider_callback_data_src ;
251+ instance -> filter_data = ep_rt_utf8_string_dup (provider_callback_data_src -> filter_data );
252+ }
251253
252254ep_on_exit :
253255 return instance ;
@@ -270,7 +272,7 @@ ep_provider_callback_data_init (
270272{
271273 EP_ASSERT (provider_callback_data != NULL );
272274
273- provider_callback_data -> filter_data = filter_data ;
275+ provider_callback_data -> filter_data = ep_rt_utf8_string_dup ( filter_data ) ;
274276 provider_callback_data -> callback_function = callback_function ;
275277 provider_callback_data -> callback_data = callback_data ;
276278 provider_callback_data -> keywords = keywords ;
@@ -289,19 +291,22 @@ ep_provider_callback_data_init_copy (
289291 EP_ASSERT (provider_callback_data_src != NULL );
290292
291293 * provider_callback_data_dst = * provider_callback_data_src ;
294+ provider_callback_data_dst -> filter_data = ep_rt_utf8_string_dup (provider_callback_data_src -> filter_data );
292295 return provider_callback_data_dst ;
293296}
294297
295298void
296299ep_provider_callback_data_fini (EventPipeProviderCallbackData * provider_callback_data )
297300{
298- ;
301+ ep_return_void_if_nok (provider_callback_data != NULL );
302+ ep_rt_utf8_string_free (provider_callback_data -> filter_data );
299303}
300304
301305void
302306ep_provider_callback_data_free (EventPipeProviderCallbackData * provider_callback_data )
303307{
304308 ep_return_void_if_nok (provider_callback_data != NULL );
309+ ep_provider_callback_data_fini (provider_callback_data );
305310 ep_rt_object_free (provider_callback_data );
306311}
307312
0 commit comments