projects
/
lttng-tools.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix: wait for the completion of implicit session rotations
[lttng-tools.git]
/
src
/
lib
/
lttng-ctl
/
event.c
diff --git
a/src/lib/lttng-ctl/event.c
b/src/lib/lttng-ctl/event.c
index 691b4f95cd21aa77d22a9da124f0ee2de9a18379..17dd7f72bfe8fd9bbe80c6ccd8afcb35b9d3d3f3 100644
(file)
--- a/
src/lib/lttng-ctl/event.c
+++ b/
src/lib/lttng-ctl/event.c
@@
-51,6
+51,7
@@
end:
return event;
error:
free(event);
return event;
error:
free(event);
+ event = NULL;
goto end;
}
goto end;
}
@@
-78,16
+79,15
@@
int lttng_event_get_filter_expression(struct lttng_event *event,
const char **filter_expression)
{
int ret = 0;
const char **filter_expression)
{
int ret = 0;
- struct ltt
comm_event_extended_header *ext_header
;
+ struct ltt
ng_event_extended *event_extended
;
if (!event || !filter_expression) {
ret = -LTTNG_ERR_INVALID;
goto end;
}
if (!event || !filter_expression) {
ret = -LTTNG_ERR_INVALID;
goto end;
}
- ext_header = event->extended.ptr;
-
- if (!ext_header) {
+ event_extended = (struct lttng_event_extended *) event->extended.ptr;
+ if (!event_extended) {
/*
* This can happen since the lttng_event structure is
* used for other tasks where this pointer is never set.
/*
* This can happen since the lttng_event structure is
* used for other tasks where this pointer is never set.
@@
-96,42
+96,35
@@
int lttng_event_get_filter_expression(struct lttng_event *event,
goto end;
}
goto end;
}
- if (ext_header->filter_len) {
- *filter_expression = ((const char *) (ext_header)) +
- sizeof(*ext_header);
- } else {
- *filter_expression = NULL;
- }
-
+ *filter_expression = event_extended->filter_expression;
end:
return ret;
}
int lttng_event_get_exclusion_name_count(struct lttng_event *event)
{
end:
return ret;
}
int lttng_event_get_exclusion_name_count(struct lttng_event *event)
{
- int ret;
- struct ltt
comm_event_extended_header *ext_header
;
+ int ret
= 0
;
+ struct ltt
ng_event_extended *event_extended
;
if (!event) {
ret = -LTTNG_ERR_INVALID;
goto end;
}
if (!event) {
ret = -LTTNG_ERR_INVALID;
goto end;
}
- e
xt_header =
event->extended.ptr;
- if (!e
xt_header
) {
+ e
vent_extended = (struct lttng_event_extended *)
event->extended.ptr;
+ if (!e
vent_extended
) {
/*
* This can happen since the lttng_event structure is
* used for other tasks where this pointer is never set.
*/
/*
* This can happen since the lttng_event structure is
* used for other tasks where this pointer is never set.
*/
- ret = 0;
goto end;
}
goto end;
}
- if (e
xt_header->nb_exclusions
> INT_MAX) {
+ if (e
vent_extended->exclusions.count
> INT_MAX) {
ret = -LTTNG_ERR_OVERFLOW;
goto end;
}
ret = -LTTNG_ERR_OVERFLOW;
goto end;
}
- ret = (int) e
xt_header->nb_exclusions
;
+ ret = (int) e
vent_extended->exclusions.count
;
end:
return ret;
}
end:
return ret;
}
@@
-140,36
+133,41
@@
int lttng_event_get_exclusion_name(struct lttng_event *event,
size_t index, const char **exclusion_name)
{
int ret = 0;
size_t index, const char **exclusion_name)
{
int ret = 0;
- struct lttcomm_event_extended_header *ext_header;
- void *at;
+ struct lttng_event_extended *event_extended;
if (!event || !exclusion_name) {
ret = -LTTNG_ERR_INVALID;
goto end;
}
if (!event || !exclusion_name) {
ret = -LTTNG_ERR_INVALID;
goto end;
}
- ext_header = event->extended.ptr;
- if (!ext_header) {
- ret = -LTTNG_ERR_INVALID;
+ if (index > UINT_MAX) {
+ ret = -LTTNG_ERR_OVERFLOW;
goto end;
}
goto end;
}
- if (index >= ext_header->nb_exclusions) {
+ event_extended = (struct lttng_event_extended *) event->extended.ptr;
+ if (!event_extended) {
+ /*
+ * This can happen since the lttng_event structure is
+ * used for other tasks where this pointer is never set.
+ */
ret = -LTTNG_ERR_INVALID;
goto end;
}
ret = -LTTNG_ERR_INVALID;
goto end;
}
- at = (void *) ext_header + sizeof(*ext_header);
-
at += ext_header->filter_len
;
-
at += index * LTTNG_SYMBOL_NAME_LEN
;
- *exclusion_name = at;
+ if (index >= event_extended->exclusions.count) {
+
ret = -LTTNG_ERR_INVALID
;
+
goto end
;
+ }
+ *exclusion_name = event_extended->exclusions.strings +
+ (index * LTTNG_SYMBOL_NAME_LEN);
end:
return ret;
}
end:
return ret;
}
-struct lttng_userspace_probe_location *
-lttng_event_get_userspace_probe_location(struct lttng_event *event)
+
const
struct lttng_userspace_probe_location *
+lttng_event_get_userspace_probe_location(
const
struct lttng_event *event)
{
struct lttng_userspace_probe_location *probe_location = NULL;
struct lttng_event_extended *event_extended;
{
struct lttng_userspace_probe_location *probe_location = NULL;
struct lttng_event_extended *event_extended;
This page took
0.027131 seconds
and
5
git commands to generate.