From: Philippe Proulx Date: Wed, 7 Jun 2017 21:51:46 +0000 (-0400) Subject: Fix: do not use BT_MOVE() when the destination memory could be uninitialized X-Git-Tag: v2.0.0-pre1~41 X-Git-Url: http://git.efficios.com/?p=babeltrace.git;a=commitdiff_plain;h=1a6a376a7c1fff0d5da2559f4f9a515950fb15ba Fix: do not use BT_MOVE() when the destination memory could be uninitialized Signed-off-by: Philippe Proulx Signed-off-by: Jérémie Galarneau --- diff --git a/lib/graph/connection.c b/lib/graph/connection.c index c7e32c07..17cefd9c 100644 --- a/lib/graph/connection.c +++ b/lib/graph/connection.c @@ -390,7 +390,10 @@ bt_private_connection_create_notification_iterator( bt_port_get_name(connection->upstream_port), upstream_component, bt_component_get_name(upstream_component), iterator); - BT_MOVE(*user_iterator, iterator); + + /* Move reference to user */ + *user_iterator = iterator; + iterator = NULL; end: bt_put(upstream_component); diff --git a/lib/graph/graph.c b/lib/graph/graph.c index 1dc7b819..10dd1944 100644 --- a/lib/graph/graph.c +++ b/lib/graph/graph.c @@ -405,7 +405,9 @@ enum bt_graph_status bt_graph_connect_ports(struct bt_graph *graph, downstream_port, bt_port_get_name(downstream_port)); if (user_connection) { - BT_MOVE(*user_connection, connection); + /* Move reference to user */ + *user_connection = connection; + connection = NULL; } end: diff --git a/lib/graph/iterator.c b/lib/graph/iterator.c index 6d6058f5..87fe6376 100644 --- a/lib/graph/iterator.c +++ b/lib/graph/iterator.c @@ -589,7 +589,10 @@ enum bt_connection_status bt_notification_iterator_create( upstream_comp, bt_component_get_name(upstream_comp), upstream_port, bt_port_get_name(upstream_port), connection, iterator); - BT_MOVE(*user_iterator, iterator); + + /* Move reference to user */ + *user_iterator = iterator; + iterator = NULL; end: bt_put(iterator);