]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
local-addresses: always sort and dedup even if addresses are not requested
authorYu Watanabe <watanabe.yu+github@gmail.com>
Fri, 19 Jan 2024 10:47:29 +0000 (19:47 +0900)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Sat, 20 Jan 2024 07:07:19 +0000 (16:07 +0900)
Otherwise, the return value may different when ret is NULL or not.

src/shared/local-addresses.c

index 43f0a2d89a4e33499fee0d58e03574cbba47edb2..c8feb58407e7ca9889ec5e8879d8a964223a9d0e 100644 (file)
@@ -168,11 +168,11 @@ int local_addresses(
                 n_list++;
         };
 
-        if (ret) {
-                typesafe_qsort(list, n_list, address_compare);
-                suppress_duplicates(list, &n_list);
+        typesafe_qsort(list, n_list, address_compare);
+        suppress_duplicates(list, &n_list);
+
+        if (ret)
                 *ret = TAKE_PTR(list);
-        }
 
         return (int) n_list;
 }
@@ -370,11 +370,11 @@ int local_gateways(
                 }
         }
 
-        if (ret) {
-                typesafe_qsort(list, n_list, address_compare);
-                suppress_duplicates(list, &n_list);
+        typesafe_qsort(list, n_list, address_compare);
+        suppress_duplicates(list, &n_list);
+
+        if (ret)
                 *ret = TAKE_PTR(list);
-        }
 
         return (int) n_list;
 }
@@ -515,11 +515,11 @@ int local_outbounds(
                 }
         }
 
-        if (ret) {
-                typesafe_qsort(list, n_list, address_compare);
-                suppress_duplicates(list, &n_list);
+        typesafe_qsort(list, n_list, address_compare);
+        suppress_duplicates(list, &n_list);
+
+        if (ret)
                 *ret = TAKE_PTR(list);
-        }
 
         return (int) n_list;
 }