summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBeniamino Galvani <bgalvani@redhat.com>2019-02-11 17:54:29 +0100
committerBeniamino Galvani <bgalvani@redhat.com>2019-02-17 19:39:07 +0100
commit8d9685ef98937a76b57c37c8d3f6946edfe1c420 (patch)
tree78a98c9caad2f317c622cf632cde6dd8e4c4d8f0
parent5efa9ff34888171d8feb93890023af813c4fc5e1 (diff)
downloadNetworkManager-8d9685ef98937a76b57c37c8d3f6946edfe1c420.tar.gz
ovs: use nm_auto_decref_json
-rw-r--r--src/devices/ovs/nm-ovsdb.c49
1 files changed, 20 insertions, 29 deletions
diff --git a/src/devices/ovs/nm-ovsdb.c b/src/devices/ovs/nm-ovsdb.c
index 47cae7d990..8622f86bf7 100644
--- a/src/devices/ovs/nm-ovsdb.c
+++ b/src/devices/ovs/nm-ovsdb.c
@@ -503,12 +503,15 @@ _add_interface (NMOvsdb *self, json_t *params,
OpenvswitchBridge *ovs_bridge = NULL;
OpenvswitchPort *ovs_port = NULL;
OpenvswitchInterface *ovs_interface = NULL;
+ nm_auto_decref_json json_t *bridges = NULL;
+ nm_auto_decref_json json_t *new_bridges = NULL;
+ nm_auto_decref_json json_t *ports = NULL;
+ nm_auto_decref_json json_t *new_ports = NULL;
+ nm_auto_decref_json json_t *interfaces = NULL;
+ nm_auto_decref_json json_t *new_interfaces = NULL;
+ gboolean has_interface = FALSE;
int pi;
int ii;
- json_t *bridges, *new_bridges;
- json_t *ports, *new_ports;
- json_t *interfaces, *new_interfaces;
- gboolean has_interface = FALSE;
bridges = json_array ();
ports = json_array ();
@@ -584,14 +587,6 @@ _add_interface (NMOvsdb *self, json_t *params,
_insert_interface (params, interface);
json_array_append_new (new_interfaces, json_pack ("[s, s]", "named-uuid", "rowInterface"));
}
-
- json_decref (interfaces);
- json_decref (ports);
- json_decref (bridges);
-
- json_decref (new_interfaces);
- json_decref (new_ports);
- json_decref (new_bridges);
}
/**
@@ -611,14 +606,12 @@ _delete_interface (NMOvsdb *self, json_t *params, const char *ifname)
OpenvswitchBridge *ovs_bridge;
OpenvswitchPort *ovs_port;
OpenvswitchInterface *ovs_interface;
- int pi;
- int ii;
json_t *bridges, *new_bridges;
- json_t *ports, *new_ports;
- json_t *interfaces, *new_interfaces;
gboolean bridges_changed;
gboolean ports_changed;
gboolean interfaces_changed;
+ int pi;
+ int ii;
bridges = json_array ();
new_bridges = json_array ();
@@ -626,20 +619,26 @@ _delete_interface (NMOvsdb *self, json_t *params, const char *ifname)
g_hash_table_iter_init (&iter, priv->bridges);
while (g_hash_table_iter_next (&iter, (gpointer) &bridge_uuid, (gpointer) &ovs_bridge)) {
- json_array_append_new (bridges, json_pack ("[s,s]", "uuid", bridge_uuid));
+ nm_auto_decref_json json_t *ports = NULL;
+ nm_auto_decref_json json_t *new_ports = NULL;
ports = json_array ();
new_ports = json_array ();
ports_changed = FALSE;
+ json_array_append_new (bridges, json_pack ("[s,s]", "uuid", bridge_uuid));
+
for (pi = 0; pi < ovs_bridge->ports->len; pi++) {
+ nm_auto_decref_json json_t *interfaces = NULL;
+ nm_auto_decref_json json_t *new_interfaces = NULL;
+
+ interfaces = json_array ();
+ new_interfaces = json_array ();
port_uuid = g_ptr_array_index (ovs_bridge->ports, pi);
ovs_port = g_hash_table_lookup (priv->ports, port_uuid);
json_array_append_new (ports, json_pack ("[s,s]", "uuid", port_uuid));
- interfaces = json_array ();
- new_interfaces = json_array ();
interfaces_changed = FALSE;
for (ii = 0; ii < ovs_port->interfaces->len; ii++) {
@@ -666,9 +665,6 @@ _delete_interface (NMOvsdb *self, json_t *params, const char *ifname)
}
json_array_append_new (new_ports, json_pack ("[s,s]", "uuid", port_uuid));
}
-
- json_decref (interfaces);
- json_decref (new_interfaces);
}
if (json_array_size (new_ports) == 0) {
@@ -680,9 +676,6 @@ _delete_interface (NMOvsdb *self, json_t *params, const char *ifname)
}
json_array_append_new (new_bridges, json_pack ("[s,s]", "uuid", bridge_uuid));
}
-
- json_decref (ports);
- json_decref (new_ports);
}
if (bridges_changed) {
@@ -707,7 +700,7 @@ ovsdb_next_command (NMOvsdb *self)
NMOvsdbPrivate *priv = NM_OVSDB_GET_PRIVATE (self);
OvsdbMethodCall *call = NULL;
char *cmd;
- json_t *msg = NULL;
+ nm_auto_decref_json json_t *msg = NULL;
json_t *params;
if (!priv->conn)
@@ -763,7 +756,6 @@ ovsdb_next_command (NMOvsdb *self)
cmd = json_dumps (msg, 0);
g_string_append (priv->output, cmd);
- json_decref (msg);
free (cmd);
ovsdb_write (self);
@@ -1040,7 +1032,7 @@ static void
ovsdb_got_echo (NMOvsdb *self, json_int_t id, json_t *data)
{
NMOvsdbPrivate *priv = NM_OVSDB_GET_PRIVATE (self);
- json_t *msg;
+ nm_auto_decref_json json_t *msg = NULL;
char *reply;
gboolean output_was_empty;
@@ -1049,7 +1041,6 @@ ovsdb_got_echo (NMOvsdb *self, json_int_t id, json_t *data)
msg = json_pack ("{s:I, s:O}", "id", id, "result", data);
reply = json_dumps (msg, 0);
g_string_append (priv->output, reply);
- json_decref (msg);
free (reply);
if (output_was_empty)