]> 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)
committerLuca Boccassi <luca.boccassi@gmail.com>
Tue, 8 Apr 2025 19:52:11 +0000 (20:52 +0100)
Fixes a bug introduced by 206504a594492f4b97259bbe345dde4e520df7dc (v255).

(cherry picked from commit a65d2de6d163daae715aa2a05869dbe65d2a0f01)
(cherry picked from commit 201f94c154163ce6de61172de1353989974fad38)

src/shared/varlink.c

index ec9284792a79d0f2a32842ebe436e7153746264f..89fc5aa976c15e1ee2909988a8b914e66bf7a200 100644 (file)
@@ -3554,7 +3554,7 @@ int varlink_server_listen_address(VarlinkServer *s, const char *address, mode_t
 
 int varlink_server_listen_auto(VarlinkServer *s) {
         _cleanup_strv_free_ char **names = NULL;
-        int r, n = 0;
+        int r, m, n = 0;
 
         assert_return(s, -EINVAL);
 
@@ -3564,11 +3564,11 @@ int varlink_server_listen_auto(VarlinkServer *s) {
          * 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);