]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
virfirewalltest: Avoid use of 'virStringListAdd'
authorPeter Krempa <pkrempa@redhat.com>
Thu, 4 Feb 2021 21:43:40 +0000 (22:43 +0100)
committerPeter Krempa <pkrempa@redhat.com>
Thu, 11 Feb 2021 16:05:33 +0000 (17:05 +0100)
To allow later removal of 'virStringListAdd' add an arbitrary upper
limit on the number of args we care about and don't store more than
that until necessary later.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
tests/virfirewalltest.c

index e14a34d7d20b734a8194494438d90472e22909ff..8bd73311fdada732f91c81edb17547199f9df16f 100644 (file)
@@ -102,6 +102,7 @@ VIR_MOCK_WRAP_RET_ARGS(g_dbus_connection_call_sync,
     } else if (STREQ(bus_name, VIR_FIREWALL_FIREWALLD_SERVICE) &&
                STREQ(method_name, "passthrough")) {
         g_autoptr(GVariantIter) iter = NULL;
+        static const size_t maxargs = 5;
         g_auto(GStrv) args = NULL;
         size_t nargs = 0;
         char *type = NULL;
@@ -111,7 +112,7 @@ VIR_MOCK_WRAP_RET_ARGS(g_dbus_connection_call_sync,
 
         g_variant_get(params, "(&sas)", &type, &iter);
 
-        nargs = g_variant_iter_n_children(iter);
+        args = g_new0(char *, maxargs);
 
         if (fwBuf) {
             if (STREQ(type, "ipv4"))
@@ -130,7 +131,9 @@ VIR_MOCK_WRAP_RET_ARGS(g_dbus_connection_call_sync,
                 doError = true;
             }
 
-            virStringListAdd(&args, item);
+            if (nargs < maxargs)
+                args[nargs] = g_strdup(item);
+            nargs++;
 
             if (fwBuf) {
                 virBufferAddLit(fwBuf, " ");