Fix: check if handle is valid
authorJulien Desfossez <jdesfossez@efficios.com>
Wed, 25 Jul 2012 13:32:12 +0000 (09:32 -0400)
committerMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Wed, 25 Jul 2012 13:32:12 +0000 (09:32 -0400)
Fixes: #317
[ Edit by Mathieu Desnoyers: put successful return at end of function,
  and error return with the test for error. ]

Signed-off-by: Julien Desfossez <jdesfossez@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
include/babeltrace/trace-handle.h
lib/trace-handle.c

index 65171e7090cfd1574db20874c753ae2e3281b0c2..4c85b670ce05ac05906fef846704dabf71ae2b0e 100644 (file)
@@ -34,19 +34,20 @@ struct bt_trace_handle;
 struct bt_ctf_event;
 
 /*
- * bt_trace_handle_get_path : returns the path of a trace_handle.
+ * bt_trace_handle_get_path : returns the path of a trace_handle or NULL
+ * on error.
  */
 const char *bt_trace_handle_get_path(struct bt_context *ctx, int handle_id);
 
 /*
  * bt_trace_handle_get_timestamp_begin : returns the creation time of the buffers
- * of a trace.
+ * of a trace or -1ULL on error.
  */
 uint64_t bt_trace_handle_get_timestamp_begin(struct bt_context *ctx, int handle_id);
 
 /*
  * bt_trace_handle_get_timestamp_end : returns the destruction timestamp of the
- * buffers of a trace.
+ * buffers of a trace or -1ULL on error.
  */
 uint64_t bt_trace_handle_get_timestamp_end(struct bt_context *ctx, int handle_id);
 
index 6ba3ec208806540e774c784eef151999c12e1c40..050268f67fd97af9ba4eadbaab6055dbc3a09875 100644 (file)
@@ -52,6 +52,8 @@ const char *bt_trace_handle_get_path(struct bt_context *ctx, int handle_id)
 
        handle = g_hash_table_lookup(ctx->trace_handles,
                        (gpointer) (unsigned long) handle_id);
+       if (!handle)
+               return NULL;
        return handle->path;
 }
 
@@ -61,6 +63,8 @@ uint64_t bt_trace_handle_get_timestamp_begin(struct bt_context *ctx, int handle_
 
        handle = g_hash_table_lookup(ctx->trace_handles,
                        (gpointer) (unsigned long) handle_id);
+       if (!handle)
+               return -1ULL;
        return handle->timestamp_begin;
 }
 
@@ -70,5 +74,7 @@ uint64_t bt_trace_handle_get_timestamp_end(struct bt_context *ctx, int handle_id
 
        handle = g_hash_table_lookup(ctx->trace_handles,
                        (gpointer) (unsigned long) handle_id);
+       if (!handle)
+               return -1ULL;
        return handle->timestamp_end;
 }
This page took 0.034259 seconds and 4 git commands to generate.