]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
sd-netlink: fix rtnl_resolve_link_alternative_name()
authorYu Watanabe <watanabe.yu+github@gmail.com>
Wed, 17 Jan 2024 02:57:21 +0000 (11:57 +0900)
committerMike Yuan <me@yhndnzj.com>
Wed, 17 Jan 2024 10:53:45 +0000 (18:53 +0800)
Fixes a bug introduced by afdf6c3b6040ef43b05428b834f0f302c8ce9a1b.

src/libsystemd/sd-netlink/netlink-util.c
src/libsystemd/sd-netlink/test-netlink.c

index 636af1a2d59503cf95fdf2a5a7e8ec7dfa8e9360..832159a649822d2f1cc4fd4b19d396b0ce717085 100644 (file)
@@ -376,7 +376,7 @@ int rtnl_resolve_link_alternative_name(sd_netlink **rtnl, const char *name, char
         assert(ifindex > 0);
 
         if (ret) {
-                r = sd_netlink_message_read_string_strdup(message, IFLA_IFNAME, ret);
+                r = sd_netlink_message_read_string_strdup(reply, IFLA_IFNAME, ret);
                 if (r < 0)
                         return r;
         }
index 4c2d3173fbebb843fe71cd22c3e2d94b15d9dd9d..13aedc4dbec8dcf9c97fde96bdfe5d2a567820ec 100644 (file)
@@ -677,6 +677,10 @@ TEST(rtnl_set_link_name) {
         assert_se(!strv_contains(alternative_names, "testlongalternativename"));
         assert_se(strv_contains(alternative_names, "test-additional-name"));
         assert_se(!strv_contains(alternative_names, "test-shortname"));
+
+        _cleanup_free_ char *resolved = NULL;
+        assert_se(rtnl_resolve_link_alternative_name(&rtnl, "test-additional-name", &resolved) == ifindex);
+        assert_se(streq_ptr(resolved, "test-shortname"));
 }
 
 DEFINE_TEST_MAIN(LOG_DEBUG);