projects
/
lttng-tools.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix: leak on UST buffer registry creation error
[lttng-tools.git]
/
src
/
bin
/
lttng-sessiond
/
trace-ust.c
diff --git
a/src/bin/lttng-sessiond/trace-ust.c
b/src/bin/lttng-sessiond/trace-ust.c
index 19a1c95d3e803fa9bf95683a0b82a4a953bf9d87..a3e25aa8adfed1532b95ffb22b67849f21e282fb 100644
(file)
--- a/
src/bin/lttng-sessiond/trace-ust.c
+++ b/
src/bin/lttng-sessiond/trace-ust.c
@@
-16,6
+16,7
@@
*/
#define _GNU_SOURCE
*/
#define _GNU_SOURCE
+#define _LGPL_SOURCE
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
@@
-365,6
+366,7
@@
error:
/*
* Allocate and initialize a ust event. Set name and event type.
/*
* Allocate and initialize a ust event. Set name and event type.
+ * We own filter_expression, filter, and exclusion.
*
* Return pointer to structure or NULL.
*/
*
* Return pointer to structure or NULL.
*/
@@
-440,6
+442,9
@@
struct ltt_ust_event *trace_ust_create_event(struct lttng_event *ev,
error_free_event:
free(lue);
error:
error_free_event:
free(lue);
error:
+ free(filter_expression);
+ free(filter);
+ free(exclusion);
return NULL;
}
return NULL;
}
@@
-754,11
+759,15
@@
void trace_ust_destroy_session(struct ltt_ust_session *session)
rcu_read_lock();
cds_lfht_for_each_entry(session->agents->ht, &iter.iter, agt, node.node) {
rcu_read_lock();
cds_lfht_for_each_entry(session->agents->ht, &iter.iter, agt, node.node) {
- lttng_ht_del(session->agents, &iter);
+ int ret = lttng_ht_del(session->agents, &iter);
+
+ assert(!ret);
agent_destroy(agt);
}
rcu_read_unlock();
agent_destroy(agt);
}
rcu_read_unlock();
+ ht_cleanup_push(session->agents);
+
/* Cleanup UID buffer registry object(s). */
cds_list_for_each_entry_safe(reg, sreg, &session->buffer_reg_uid_list,
lnode) {
/* Cleanup UID buffer registry object(s). */
cds_list_for_each_entry_safe(reg, sreg, &session->buffer_reg_uid_list,
lnode) {
This page took
0.024365 seconds
and
4
git commands to generate.