Skip to content

Commit 3d15c4a

Browse files
committed
Address Feedback
Fix eventpipe_collect_tracing_command_free_tracepoint_sets logic Clarify len variable names Consistently use -1 as invalid file descriptor Update event_pipe to use ep_rt_utf16_to_utf8_string/free
1 parent 54ec518 commit 3d15c4a

File tree

6 files changed

+33
-33
lines changed

6 files changed

+33
-33
lines changed

src/mono/mono/component/event_pipe.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -158,16 +158,16 @@ event_pipe_enable (
158158

159159
if (config_providers) {
160160
for (guint32 i = 0; i < providers_len; ++i) {
161-
char *provider_name = providers[i].provider_name ? mono_utf16_to_utf8 (providers[i].provider_name, g_utf16_len (providers[i].provider_name), error) : NULL;
162-
char *filter_data = providers[i].filter_data ? mono_utf16_to_utf8 (providers[i].filter_data, g_utf16_len (providers[i].filter_data), error) : NULL;
161+
ep_char8_t *provider_name = ep_rt_utf16_to_utf8_string ((const ep_char16_t *)(providers[i].provider_name));
162+
ep_char8_t *filter_data = ep_rt_utf16_to_utf8_string ((const ep_char16_t *)(providers[i].filter_data));
163163
ep_provider_config_init (
164164
&config_providers[i],
165165
provider_name,
166166
providers [i].keywords,
167167
(EventPipeEventLevel)providers [i].logging_level,
168168
filter_data);
169-
g_free (provider_name);
170-
g_free (filter_data);
169+
ep_rt_utf8_string_free (provider_name);
170+
ep_rt_utf8_string_free (filter_data);
171171
}
172172
}
173173

src/native/eventpipe/ds-eventpipe-protocol.c

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ bool
8080
eventpipe_collect_tracing_command_try_parse_event_ids (
8181
uint8_t **buffer,
8282
uint32_t *buffer_len,
83-
uint32_t length,
83+
uint32_t event_ids_len,
8484
uint32_t **event_ids);
8585

8686
static
@@ -95,7 +95,7 @@ bool
9595
eventpipe_collect_tracing_command_try_parse_tracepoint_sets (
9696
uint8_t **buffer,
9797
uint32_t *buffer_len,
98-
uint32_t length,
98+
uint32_t tracepoint_sets_len,
9999
EventPipeProviderTracepointSet **tracepoint_sets);
100100

101101
static
@@ -319,7 +319,7 @@ bool
319319
eventpipe_collect_tracing_command_try_parse_event_ids (
320320
uint8_t **buffer,
321321
uint32_t *buffer_len,
322-
uint32_t length,
322+
uint32_t event_ids_len,
323323
uint32_t **event_ids)
324324
{
325325
EP_ASSERT (buffer != NULL);
@@ -329,12 +329,12 @@ eventpipe_collect_tracing_command_try_parse_event_ids (
329329
bool result = false;
330330
*event_ids = NULL;
331331

332-
if (length == 0)
332+
if (event_ids_len == 0)
333333
return true;
334334

335-
*event_ids = ep_rt_object_array_alloc (uint32_t, length);
335+
*event_ids = ep_rt_object_array_alloc (uint32_t, event_ids_len);
336336
ep_raise_error_if_nok (*event_ids != NULL);
337-
for (uint32_t i = 0; i < length; ++i)
337+
for (uint32_t i = 0; i < event_ids_len; ++i)
338338
ep_raise_error_if_nok (ds_ipc_message_try_parse_uint32_t (buffer, buffer_len, &(*event_ids)[i]));
339339

340340
result = true;
@@ -398,7 +398,7 @@ bool
398398
eventpipe_collect_tracing_command_try_parse_tracepoint_sets (
399399
uint8_t **buffer,
400400
uint32_t *buffer_len,
401-
uint32_t length,
401+
uint32_t tracepoint_sets_len,
402402
EventPipeProviderTracepointSet **tracepoint_sets)
403403
{
404404
EP_ASSERT (buffer != NULL);
@@ -408,13 +408,13 @@ eventpipe_collect_tracing_command_try_parse_tracepoint_sets (
408408
bool result = false;
409409
*tracepoint_sets = NULL;
410410

411-
if (length == 0)
411+
if (tracepoint_sets_len == 0)
412412
return false;
413413

414-
*tracepoint_sets = ep_rt_object_array_alloc (EventPipeProviderTracepointSet, length);
414+
*tracepoint_sets = ep_rt_object_array_alloc (EventPipeProviderTracepointSet, tracepoint_sets_len);
415415
ep_raise_error_if_nok (*tracepoint_sets != NULL);
416416

417-
for (uint32_t i = 0; i < length; ++i) {
417+
for (uint32_t i = 0; i < tracepoint_sets_len; ++i) {
418418
ep_raise_error_if_nok (ds_ipc_message_try_parse_string_utf16_t_string_utf8_t_alloc (buffer, buffer_len, &(*tracepoint_sets)[i].tracepoint_name));
419419
ep_raise_error_if_nok (!ep_rt_utf8_string_is_null_or_empty ((*tracepoint_sets)[i].tracepoint_name));
420420

@@ -429,7 +429,7 @@ eventpipe_collect_tracing_command_try_parse_tracepoint_sets (
429429
return result;
430430

431431
ep_on_error:
432-
eventpipe_collect_tracing_command_free_tracepoint_sets (*tracepoint_sets, length);
432+
eventpipe_collect_tracing_command_free_tracepoint_sets (*tracepoint_sets, tracepoint_sets_len);
433433
*tracepoint_sets = NULL;
434434
ep_exit_error_handler ();
435435
}
@@ -901,7 +901,7 @@ eventpipe_protocol_helper_collect_tracing (
901901
return false;
902902
}
903903

904-
int user_events_data_fd = 0;
904+
int user_events_data_fd = -1;
905905
if (payload->session_type == EP_SESSION_TYPE_USEREVENTS) {
906906
if (!ds_ipc_stream_read_fd (stream, &user_events_data_fd)) {
907907
ds_ipc_message_send_error (stream, DS_IPC_E_BAD_ENCODING);

src/native/eventpipe/ep-session-provider.c

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,7 @@ session_provider_tracepoint_register (
157157
int user_events_data_fd)
158158
{
159159
EP_ASSERT (tracepoint != NULL);
160-
EP_ASSERT (user_events_data_fd != 0);
160+
EP_ASSERT (user_events_data_fd != -1);
161161
struct user_reg reg = {0};
162162

163163
reg.size = sizeof(reg);
@@ -182,7 +182,7 @@ session_provider_tracepoint_unregister (
182182
int user_events_data_fd)
183183
{
184184
EP_ASSERT (tracepoint != NULL);
185-
EP_ASSERT (user_events_data_fd != 0);
185+
EP_ASSERT (user_events_data_fd != -1);
186186
struct user_unreg unreg = {0};
187187

188188
unreg.size = sizeof(unreg);
@@ -229,9 +229,9 @@ ep_session_provider_register_tracepoints (
229229
int user_events_data_fd)
230230
{
231231
EP_ASSERT (session_provider != NULL);
232-
EP_ASSERT (user_events_data_fd > 0);
232+
EP_ASSERT (user_events_data_fd != -1);
233233

234-
if (user_events_data_fd <= 0)
234+
if (user_events_data_fd < 0)
235235
return false;
236236

237237
EventPipeSessionProviderTracepointConfiguration *tracepoint_config = session_provider->tracepoint_config;
@@ -267,9 +267,9 @@ ep_session_provider_unregister_tracepoints (
267267
int user_events_data_fd)
268268
{
269269
EP_ASSERT (session_provider != NULL);
270-
EP_ASSERT (user_events_data_fd > 0);
270+
EP_ASSERT (user_events_data_fd != -1);
271271

272-
if (user_events_data_fd <= 0)
272+
if (user_events_data_fd < 0)
273273
return;
274274

275275
if (session_provider->tracepoint_config == NULL)

src/native/eventpipe/ep-session.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -221,7 +221,7 @@ session_user_events_tracepoints_init (
221221
EventPipeSessionProviderList *providers = session->providers;
222222
EP_ASSERT (providers != NULL);
223223

224-
ep_raise_error_if_nok (user_events_data_fd > 0);
224+
ep_raise_error_if_nok (user_events_data_fd != -1);
225225
session->user_events_data_fd = user_events_data_fd;
226226

227227
DN_LIST_FOREACH_BEGIN (EventPipeSessionProvider *, session_provider, ep_session_provider_list_get_providers (providers)) {
@@ -625,7 +625,7 @@ void
625625
session_disable_user_events (EventPipeSession *session)
626626
{
627627
EP_ASSERT (session != NULL);
628-
ep_return_void_if_nok (session->session_type == EP_SESSION_TYPE_USEREVENTS && session->user_events_data_fd > 0);
628+
ep_return_void_if_nok (session->session_type == EP_SESSION_TYPE_USEREVENTS && session->user_events_data_fd != -1);
629629

630630
ep_requires_lock_held ();
631631

@@ -919,7 +919,7 @@ ep_session_write_event (
919919
result = true;
920920
break;
921921
case EP_SESSION_TYPE_USEREVENTS:
922-
EP_ASSERT (session->user_events_data_fd != 0);
922+
EP_ASSERT (session->user_events_data_fd != -1);
923923
result = session_tracepoint_write_event (
924924
session,
925925
thread,

src/native/eventpipe/ep-types.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -225,7 +225,7 @@ struct _EventPipeProviderTracepointSet {
225225
#endif
226226

227227
void
228-
eventpipe_collect_tracing_command_free_tracepoint_sets (EventPipeProviderTracepointSet *tracepoint_set, uint32_t length);
228+
eventpipe_collect_tracing_command_free_tracepoint_sets (EventPipeProviderTracepointSet *tracepoint_sets, uint32_t tracepoint_sets_len);
229229

230230
/*
231231
* EventPipeProviderTracepointConfiguration.

src/native/eventpipe/ep.c

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -369,16 +369,16 @@ eventpipe_collect_tracing_command_free_event_filter (EventPipeProviderEventFilte
369369
}
370370

371371
void
372-
eventpipe_collect_tracing_command_free_tracepoint_sets (EventPipeProviderTracepointSet *tracepoint_set, uint32_t length)
372+
eventpipe_collect_tracing_command_free_tracepoint_sets (EventPipeProviderTracepointSet *tracepoint_sets, uint32_t tracepoint_sets_len)
373373
{
374-
ep_return_void_if_nok (tracepoint_set != NULL);
374+
ep_return_void_if_nok (tracepoint_sets != NULL);
375375

376-
for (uint32_t i = 0; i < length; ++i) {
377-
ep_rt_utf8_string_free (tracepoint_set->tracepoint_name);
378-
ep_rt_object_array_free (tracepoint_set->event_ids);
376+
for (uint32_t i = 0; i < tracepoint_sets_len; ++i) {
377+
ep_rt_utf8_string_free (tracepoint_sets[i].tracepoint_name);
378+
ep_rt_object_array_free (tracepoint_sets[i].event_ids);
379379
}
380380

381-
ep_rt_object_array_free (tracepoint_set);
381+
ep_rt_object_array_free (tracepoint_sets);
382382
}
383383

384384
void
@@ -524,7 +524,7 @@ static bool check_options_valid (const EventPipeSessionOptions *options)
524524
if (options->session_type == EP_SESSION_TYPE_IPCSTREAM && options->stream == NULL)
525525
return false;
526526
// More UserEvents specific checks can be added here.
527-
if (options->session_type == EP_SESSION_TYPE_USEREVENTS && options->user_events_data_fd == 0)
527+
if (options->session_type == EP_SESSION_TYPE_USEREVENTS && options->user_events_data_fd == -1)
528528
return false;
529529

530530
return true;

0 commit comments

Comments
 (0)