From 1a6a376a7c1fff0d5da2559f4f9a515950fb15ba Mon Sep 17 00:00:00 2001 From: Philippe Proulx Date: Wed, 7 Jun 2017 17:51:46 -0400 Subject: [PATCH] Fix: do not use BT_MOVE() when the destination memory could be uninitialized MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Philippe Proulx Signed-off-by: Jérémie Galarneau --- lib/graph/connection.c | 5 ++++- lib/graph/graph.c | 4 +++- lib/graph/iterator.c | 5 ++++- 3 files changed, 11 insertions(+), 3 deletions(-) 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); -- 2.34.1