projects
/
lttng-tools.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add safety assert() in session daemon
[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 3d9390db22395885cc1f62e62c90bf9167040b93..1830763b1b6a88d3c1ac7ba528d5512b3e7444a3 100644
(file)
--- a/
src/bin/lttng-sessiond/trace-ust.c
+++ b/
src/bin/lttng-sessiond/trace-ust.c
@@
-262,6
+262,9
@@
struct ltt_ust_channel *trace_ust_create_channel(struct lttng_channel *chan,
int ret;
struct ltt_ust_channel *luc;
int ret;
struct ltt_ust_channel *luc;
+ assert(chan);
+ assert(path);
+
luc = zmalloc(sizeof(struct ltt_ust_channel));
if (luc == NULL) {
PERROR("ltt_ust_channel zmalloc");
luc = zmalloc(sizeof(struct ltt_ust_channel));
if (luc == NULL) {
PERROR("ltt_ust_channel zmalloc");
@@
-322,6
+325,8
@@
struct ltt_ust_event *trace_ust_create_event(struct lttng_event *ev,
{
struct ltt_ust_event *lue;
{
struct ltt_ust_event *lue;
+ assert(ev);
+
lue = zmalloc(sizeof(struct ltt_ust_event));
if (lue == NULL) {
PERROR("ust event zmalloc");
lue = zmalloc(sizeof(struct ltt_ust_event));
if (lue == NULL) {
PERROR("ust event zmalloc");
@@
-396,6
+401,8
@@
struct ltt_ust_metadata *trace_ust_create_metadata(char *path)
int ret;
struct ltt_ust_metadata *lum;
int ret;
struct ltt_ust_metadata *lum;
+ assert(path);
+
lum = zmalloc(sizeof(struct ltt_ust_metadata));
if (lum == NULL) {
PERROR("ust metadata zmalloc");
lum = zmalloc(sizeof(struct ltt_ust_metadata));
if (lum == NULL) {
PERROR("ust metadata zmalloc");
@@
-437,6
+444,8
@@
struct ltt_ust_context *trace_ust_create_context(
struct ltt_ust_context *uctx;
enum lttng_ust_context_type utype;
struct ltt_ust_context *uctx;
enum lttng_ust_context_type utype;
+ assert(ctx);
+
switch (ctx->ctx) {
case LTTNG_EVENT_CONTEXT_VTID:
utype = LTTNG_UST_CONTEXT_VTID;
switch (ctx->ctx) {
case LTTNG_EVENT_CONTEXT_VTID:
utype = LTTNG_UST_CONTEXT_VTID;
@@
-492,6
+501,8
@@
static void destroy_contexts(struct lttng_ht *ht)
struct lttng_ht_node_ulong *node;
struct lttng_ht_iter iter;
struct lttng_ht_node_ulong *node;
struct lttng_ht_iter iter;
+ assert(ht);
+
cds_lfht_for_each_entry(ht->ht, &iter.iter, node, node) {
ret = lttng_ht_del(ht, &iter);
if (!ret) {
cds_lfht_for_each_entry(ht->ht, &iter.iter, node, node) {
ret = lttng_ht_del(ht, &iter);
if (!ret) {
@@
-507,6
+518,8
@@
static void destroy_contexts(struct lttng_ht *ht)
*/
void trace_ust_destroy_event(struct ltt_ust_event *event)
{
*/
void trace_ust_destroy_event(struct ltt_ust_event *event)
{
+ assert(event);
+
DBG2("Trace destroy UST event %s", event->attr.name);
free(event->filter);
free(event);
DBG2("Trace destroy UST event %s", event->attr.name);
free(event->filter);
free(event);
@@
-534,6
+547,8
@@
static void destroy_events(struct lttng_ht *events)
struct lttng_ht_node_str *node;
struct lttng_ht_iter iter;
struct lttng_ht_node_str *node;
struct lttng_ht_iter iter;
+ assert(events);
+
cds_lfht_for_each_entry(events->ht, &iter.iter, node, node) {
ret = lttng_ht_del(events, &iter);
assert(!ret);
cds_lfht_for_each_entry(events->ht, &iter.iter, node, node) {
ret = lttng_ht_del(events, &iter);
assert(!ret);
@@
-548,6
+563,8
@@
static void destroy_events(struct lttng_ht *events)
*/
void trace_ust_destroy_channel(struct ltt_ust_channel *channel)
{
*/
void trace_ust_destroy_channel(struct ltt_ust_channel *channel)
{
+ assert(channel);
+
DBG2("Trace destroy UST channel %s", channel->name);
rcu_read_lock();
DBG2("Trace destroy UST channel %s", channel->name);
rcu_read_lock();
@@
-580,6
+597,8
@@
static void destroy_channel_rcu(struct rcu_head *head)
*/
void trace_ust_destroy_metadata(struct ltt_ust_metadata *metadata)
{
*/
void trace_ust_destroy_metadata(struct ltt_ust_metadata *metadata)
{
+ assert(metadata);
+
if (!metadata->handle) {
return;
}
if (!metadata->handle) {
return;
}
@@
-596,6
+615,8
@@
static void destroy_channels(struct lttng_ht *channels)
struct lttng_ht_node_str *node;
struct lttng_ht_iter iter;
struct lttng_ht_node_str *node;
struct lttng_ht_iter iter;
+ assert(channels);
+
rcu_read_lock();
cds_lfht_for_each_entry(channels->ht, &iter.iter, node, node) {
rcu_read_lock();
cds_lfht_for_each_entry(channels->ht, &iter.iter, node, node) {
@@
-618,6
+639,8
@@
static void destroy_domain_pid(struct lttng_ht *ht)
struct lttng_ht_iter iter;
struct ltt_ust_domain_pid *dpid;
struct lttng_ht_iter iter;
struct ltt_ust_domain_pid *dpid;
+ assert(ht);
+
cds_lfht_for_each_entry(ht->ht, &iter.iter, dpid, node.node) {
ret = lttng_ht_del(ht , &iter);
assert(!ret);
cds_lfht_for_each_entry(ht->ht, &iter.iter, dpid, node.node) {
ret = lttng_ht_del(ht , &iter);
assert(!ret);
@@
-636,6
+659,8
@@
static void destroy_domain_exec(struct lttng_ht *ht)
struct lttng_ht_iter iter;
struct ltt_ust_domain_exec *dexec;
struct lttng_ht_iter iter;
struct ltt_ust_domain_exec *dexec;
+ assert(ht);
+
cds_lfht_for_each_entry(ht->ht, &iter.iter, dexec, node.node) {
ret = lttng_ht_del(ht , &iter);
assert(!ret);
cds_lfht_for_each_entry(ht->ht, &iter.iter, dexec, node.node) {
ret = lttng_ht_del(ht , &iter);
assert(!ret);
@@
-650,6
+675,8
@@
static void destroy_domain_exec(struct lttng_ht *ht)
*/
static void destroy_domain_global(struct ltt_ust_domain_global *dom)
{
*/
static void destroy_domain_global(struct ltt_ust_domain_global *dom)
{
+ assert(dom);
+
destroy_channels(dom->channels);
}
destroy_channels(dom->channels);
}
@@
-658,10
+685,7
@@
static void destroy_domain_global(struct ltt_ust_domain_global *dom)
*/
void trace_ust_destroy_session(struct ltt_ust_session *session)
{
*/
void trace_ust_destroy_session(struct ltt_ust_session *session)
{
- /* Extra protection */
- if (session == NULL) {
- return;
- }
+ assert(session);
rcu_read_lock();
rcu_read_lock();
This page took
0.024638 seconds
and
4
git commands to generate.