]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
sd-varlink: fix overwrite of loop count
authorYu Watanabe <watanabe.yu+github@gmail.com>
Tue, 18 Mar 2025 16:33:09 +0000 (01:33 +0900)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Tue, 18 Mar 2025 16:47:20 +0000 (01:47 +0900)
Fixes a bug introduced by 206504a594492f4b97259bbe345dde4e520df7dc (v255).

src/libsystemd/sd-varlink/sd-varlink.c

index 222ccaac5d0cd18cdf244fe6833c7355cf883e81..c910a41354b03c3842ecc7264fb62c2698d0839a 100644 (file)
@@ -3753,7 +3753,7 @@ _public_ int sd_varlink_server_add_connection_stdio(sd_varlink_server *s, sd_var
 
 _public_ int sd_varlink_server_listen_name(sd_varlink_server *s, const char *name) {
         _cleanup_strv_free_ char **names = NULL;
-        int r, n = 0;
+        int r, m, n = 0;
 
         assert_return(s, -EINVAL);
         assert_return(name, -EINVAL);
@@ -3764,11 +3764,11 @@ _public_ int sd_varlink_server_listen_name(sd_varlink_server *s, const char *nam
          * See https://varlink.org/#activation for the environment variables this is backed by and the
          * recommended "varlink" identifier in $LISTEN_FDNAMES. */
 
-        r = sd_listen_fds_with_names(/* unset_environment= */ false, &names);
-        if (r < 0)
-                return r;
+        m = sd_listen_fds_with_names(/* unset_environment= */ false, &names);
+        if (m < 0)
+                return m;
 
-        for (int i = 0; i < r; i++) {
+        for (int i = 0; i < m; i++) {
                 int b, fd;
                 socklen_t l = sizeof(b);