projects
/
lttng-tools.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix: release reference to ltt_session on error instead of free()
[lttng-tools.git]
/
src
/
bin
/
lttng-sessiond
/
kernel.c
diff --git
a/src/bin/lttng-sessiond/kernel.c
b/src/bin/lttng-sessiond/kernel.c
index edb7f7b2f2f3f83efd53ac077f005b26388d52d9..8e972b0693cc28362fe36e9a80b040d128bed62c 100644
(file)
--- a/
src/bin/lttng-sessiond/kernel.c
+++ b/
src/bin/lttng-sessiond/kernel.c
@@
-1244,7
+1244,7
@@
enum lttng_error_code kernel_snapshot_record(struct ltt_kernel_session *ksess,
struct consumer_socket *socket;
struct lttng_ht_iter iter;
struct ltt_kernel_metadata *saved_metadata;
struct consumer_socket *socket;
struct lttng_ht_iter iter;
struct ltt_kernel_metadata *saved_metadata;
- struct ltt_session *session;
+ struct ltt_session *session
= NULL
;
uint64_t trace_archive_id;
assert(ksess);
uint64_t trace_archive_id;
assert(ksess);
@@
-1344,7
+1344,9
@@
error:
/* Restore metadata state.*/
ksess->metadata = saved_metadata;
ksess->metadata_stream_fd = saved_metadata_fd;
/* Restore metadata state.*/
ksess->metadata = saved_metadata;
ksess->metadata_stream_fd = saved_metadata_fd;
-
+ if (session) {
+ session_put(session);
+ }
rcu_read_unlock();
return status;
}
rcu_read_unlock();
return status;
}
This page took
0.02445 seconds
and
4
git commands to generate.