projects
/
lttng-tools.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix: initialize temporary fd array element to -1
[lttng-tools.git]
/
src
/
common
/
error-query.c
diff --git
a/src/common/error-query.c
b/src/common/error-query.c
index 17fd5ffae030cb3404803fafcd8a90eddef26ffe..01ed1ef216e9f3db5c1cccd318099f4f2b188ac6 100644
(file)
--- a/
src/common/error-query.c
+++ b/
src/common/error-query.c
@@
-12,7
+12,7
@@
#include <common/macros.h>
#include <common/sessiond-comm/sessiond-comm.h>
#include <lttng/action/action-internal.h>
#include <common/macros.h>
#include <common/sessiond-comm/sessiond-comm.h>
#include <lttng/action/action-internal.h>
-#include <lttng/action/
group
-internal.h>
+#include <lttng/action/
list
-internal.h>
#include <lttng/error-query-internal.h>
#include <lttng/error-query.h>
#include <lttng/trigger/trigger-internal.h>
#include <lttng/error-query-internal.h>
#include <lttng/error-query.h>
#include <lttng/trigger/trigger-internal.h>
@@
-47,9
+47,9
@@
struct lttng_error_query_action {
struct lttng_trigger *trigger;
/*
* Index of the target action. Since action lists can't be nested,
struct lttng_trigger *trigger;
/*
* Index of the target action. Since action lists can't be nested,
- * the targetted action is the top-level
group
if the action_index is
+ * the targetted action is the top-level
list
if the action_index is
* unset. Otherwise, the index refers to the index within the top-level
* unset. Otherwise, the index refers to the index within the top-level
- *
group
.
+ *
list
.
*/
LTTNG_OPTIONAL(unsigned int) action_index;
};
*/
LTTNG_OPTIONAL(unsigned int) action_index;
};
@@
-95,25
+95,29
@@
struct lttng_error_query *lttng_error_query_trigger_create(
const struct lttng_trigger *trigger)
{
struct lttng_error_query_trigger *query = NULL;
const struct lttng_trigger *trigger)
{
struct lttng_error_query_trigger *query = NULL;
- struct lttng_trigger *trigger_copy;
+ struct lttng_trigger *trigger_copy
= NULL
;
- trigger_copy = lttng_trigger_copy(trigger);
- if (!trigger_copy) {
+ if (!trigger) {
goto end;
}
goto end;
}
- if (!trigger) {
+ trigger_copy = lttng_trigger_copy(trigger);
+ if (!trigger_copy) {
goto end;
}
query = zmalloc(sizeof(*query));
if (!query) {
PERROR("Failed to allocate trigger error query");
goto end;
}
query = zmalloc(sizeof(*query));
if (!query) {
PERROR("Failed to allocate trigger error query");
- goto e
nd
;
+ goto e
rror
;
}
query->parent.target_type = LTTNG_ERROR_QUERY_TARGET_TYPE_TRIGGER;
query->trigger = trigger_copy;
}
query->parent.target_type = LTTNG_ERROR_QUERY_TARGET_TYPE_TRIGGER;
query->trigger = trigger_copy;
+ trigger_copy = NULL;
+
+error:
+ lttng_trigger_put(trigger_copy);
end:
return query ? &query->parent : NULL;
}
end:
return query ? &query->parent : NULL;
}
@@
-123,8
+127,8
@@
extern struct lttng_error_query *lttng_error_query_action_create(
const struct lttng_action *action)
{
struct lttng_error_query_action *query = NULL;
const struct lttng_action *action)
{
struct lttng_error_query_action *query = NULL;
- typeof(query->action_index) action_index;
- struct lttng_trigger *trigger_copy;
+ typeof(query->action_index) action_index
= {}
;
+ struct lttng_trigger *trigger_copy
= NULL
;
if (!trigger || !action) {
goto end;
if (!trigger || !action) {
goto end;
@@
-141,24
+145,24
@@
extern struct lttng_error_query *lttng_error_query_action_create(
* action list.
*
* Note that action comparisons are performed by pointer since multiple
* action list.
*
* Note that action comparisons are performed by pointer since multiple
- * otherwise identical actions can be found in an action
group
(two
+ * otherwise identical actions can be found in an action
list
(two
* notify actions, for example).
*/
if (action != trigger->action &&
lttng_action_get_type(trigger->action) ==
* notify actions, for example).
*/
if (action != trigger->action &&
lttng_action_get_type(trigger->action) ==
- LTTNG_ACTION_TYPE_
GROUP
) {
- unsigned int i, action_
group
_count;
+ LTTNG_ACTION_TYPE_
LIST
) {
+ unsigned int i, action_
list
_count;
enum lttng_action_status action_status;
enum lttng_action_status action_status;
- action_status = lttng_action_
group
_get_count(
- trigger->action, &action_
group
_count);
+ action_status = lttng_action_
list
_get_count(
+ trigger->action, &action_
list
_count);
if (action_status != LTTNG_ACTION_STATUS_OK) {
if (action_status != LTTNG_ACTION_STATUS_OK) {
- goto e
nd
;
+ goto e
rror
;
}
}
- for (i = 0; i < action_
group
_count; i++) {
+ for (i = 0; i < action_
list
_count; i++) {
const struct lttng_action *candidate_action =
const struct lttng_action *candidate_action =
- lttng_action_
group
_get_at_index(
+ lttng_action_
list
_get_at_index(
trigger->action, i);
assert(candidate_action);
trigger->action, i);
assert(candidate_action);
@@
-170,25
+174,28
@@
extern struct lttng_error_query *lttng_error_query_action_create(
if (!action_index.is_set) {
/* Not found; invalid action. */
if (!action_index.is_set) {
/* Not found; invalid action. */
- goto e
nd
;
+ goto e
rror
;
}
} else {
/*
}
} else {
/*
- * Trigger action is not a
group
and not equal to the target
+ * Trigger action is not a
list
and not equal to the target
* action; invalid action provided.
*/
* action; invalid action provided.
*/
- goto e
nd
;
+ goto e
rror
;
}
query = zmalloc(sizeof(*query));
if (!query) {
PERROR("Failed to allocate action error query");
}
query = zmalloc(sizeof(*query));
if (!query) {
PERROR("Failed to allocate action error query");
- goto e
nd
;
+ goto e
rror
;
}
query->parent.target_type = LTTNG_ERROR_QUERY_TARGET_TYPE_ACTION;
query->trigger = trigger_copy;
}
query->parent.target_type = LTTNG_ERROR_QUERY_TARGET_TYPE_ACTION;
query->trigger = trigger_copy;
+ trigger_copy = NULL;
query->action_index = action_index;
query->action_index = action_index;
+error:
+ lttng_trigger_put(trigger_copy);
end:
return query ? &query->parent : NULL;
}
end:
return query ? &query->parent : NULL;
}
@@
-351,6
+358,7
@@
lttng_error_query_result_counter_create(
goto error;
}
goto error;
}
+ counter->value = value;
goto end;
error:
lttng_error_query_result_destroy(&counter->parent);
goto end;
error:
lttng_error_query_result_destroy(&counter->parent);
@@
-659,26
+667,27
@@
const struct lttng_trigger *lttng_error_query_action_borrow_trigger_target(
}
LTTNG_HIDDEN
}
LTTNG_HIDDEN
-
const
struct lttng_action *lttng_error_query_action_borrow_action_target(
+struct lttng_action *lttng_error_query_action_borrow_action_target(
const struct lttng_error_query *query,
const struct lttng_error_query *query,
-
const
struct lttng_trigger *trigger)
+ struct lttng_trigger *trigger)
{
{
-
const
struct lttng_action *target_action = NULL;
+ struct lttng_action *target_action = NULL;
const struct lttng_error_query_action *query_action =
container_of(query, typeof(*query_action), parent);
const struct lttng_error_query_action *query_action =
container_of(query, typeof(*query_action), parent);
-
const
struct lttng_action *trigger_action =
- lttng_trigger_get_
const_
action(trigger);
+ struct lttng_action *trigger_action =
+ lttng_trigger_get_action(trigger);
if (!query_action->action_index.is_set) {
target_action = trigger_action;
} else {
if (lttng_action_get_type(trigger_action) !=
if (!query_action->action_index.is_set) {
target_action = trigger_action;
} else {
if (lttng_action_get_type(trigger_action) !=
- LTTNG_ACTION_TYPE_
GROUP
) {
- ERR("Invalid action error query target index: trigger action is not a
group
");
+ LTTNG_ACTION_TYPE_
LIST
) {
+ ERR("Invalid action error query target index: trigger action is not a
list
");
goto end;
}
goto end;
}
- target_action = lttng_action_group_get_at_index(trigger_action,
+ target_action = lttng_action_list_borrow_mutable_at_index(
+ trigger_action,
LTTNG_OPTIONAL_GET(query_action->action_index));
}
LTTNG_OPTIONAL_GET(query_action->action_index));
}
@@
-730,6
+739,7
@@
ssize_t lttng_error_query_create_from_payload(struct lttng_payload_view *view,
{
ssize_t used_size = 0;
struct lttng_error_query_comm *header;
{
ssize_t used_size = 0;
struct lttng_error_query_comm *header;
+ struct lttng_trigger *trigger = NULL;
struct lttng_payload_view header_view =
lttng_payload_view_from_view(view, 0, sizeof(*header));
struct lttng_payload_view header_view =
lttng_payload_view_from_view(view, 0, sizeof(*header));
@@
-745,7
+755,6
@@
ssize_t lttng_error_query_create_from_payload(struct lttng_payload_view *view,
switch ((enum lttng_error_query_target_type) header->target_type) {
case LTTNG_ERROR_QUERY_TARGET_TYPE_TRIGGER:
{
switch ((enum lttng_error_query_target_type) header->target_type) {
case LTTNG_ERROR_QUERY_TARGET_TYPE_TRIGGER:
{
- struct lttng_trigger *trigger;
ssize_t trigger_used_size;
struct lttng_payload_view trigger_view =
lttng_payload_view_from_view(
ssize_t trigger_used_size;
struct lttng_payload_view trigger_view =
lttng_payload_view_from_view(
@@
-766,7
+775,6
@@
ssize_t lttng_error_query_create_from_payload(struct lttng_payload_view *view,
used_size += trigger_used_size;
*query = lttng_error_query_trigger_create(trigger);
used_size += trigger_used_size;
*query = lttng_error_query_trigger_create(trigger);
- lttng_trigger_put(trigger);
if (!*query) {
used_size = -1;
goto end;
if (!*query) {
used_size = -1;
goto end;
@@
-776,7
+784,6
@@
ssize_t lttng_error_query_create_from_payload(struct lttng_payload_view *view,
}
case LTTNG_ERROR_QUERY_TARGET_TYPE_ACTION:
{
}
case LTTNG_ERROR_QUERY_TARGET_TYPE_ACTION:
{
- struct lttng_trigger *trigger;
const struct lttng_action *target_action;
ssize_t trigger_used_size;
struct lttng_error_query_action_comm *action_header;
const struct lttng_action *target_action;
ssize_t trigger_used_size;
struct lttng_error_query_action_comm *action_header;
@@
-820,19
+827,18
@@
ssize_t lttng_error_query_create_from_payload(struct lttng_payload_view *view,
target_action = trigger->action;
} else {
if (lttng_action_get_type(trigger->action) !=
target_action = trigger->action;
} else {
if (lttng_action_get_type(trigger->action) !=
- LTTNG_ACTION_TYPE_
GROUP
) {
+ LTTNG_ACTION_TYPE_
LIST
) {
used_size = -1;
goto end;
}
used_size = -1;
goto end;
}
- target_action = lttng_action_
group
_get_at_index(
+ target_action = lttng_action_
list
_get_at_index(
trigger->action,
action_header->action_index.value);
}
*query = lttng_error_query_action_create(
trigger, target_action);
trigger->action,
action_header->action_index.value);
}
*query = lttng_error_query_action_create(
trigger, target_action);
- lttng_trigger_put(trigger);
if (!*query) {
used_size = -1;
goto end;
if (!*query) {
used_size = -1;
goto end;
@@
-846,6
+852,7
@@
ssize_t lttng_error_query_create_from_payload(struct lttng_payload_view *view,
}
end:
}
end:
+ lttng_trigger_put(trigger);
return used_size;
}
return used_size;
}
This page took
0.029432 seconds
and
4
git commands to generate.