summary refs log tree commit diff
path: root/src/n-acd
diff options
context:
space:
mode:
authorMichael Biebl <biebl@debian.org>2024-01-25 09:46:18 +0100
committerMichael Biebl <biebl@debian.org>2024-01-25 09:46:18 +0100
commit70e18d99b8e3e77bb37e218d7ac582130156f8ef (patch)
treed40c587e6d3f0e094ff558e415f1bb9803643214 /src/n-acd
parentd4d8b2b91f7ba000d97a8b2aab48c85000c11314 (diff)
New upstream version 1.45.90 upstream/1.45.90
Diffstat (limited to 'src/n-acd')
-rw-r--r--src/n-acd/src/n-acd-private.h1
-rw-r--r--src/n-acd/src/n-acd-probe.c3
2 files changed, 3 insertions, 1 deletions
diff --git a/src/n-acd/src/n-acd-private.h b/src/n-acd/src/n-acd-private.h
index 4583c018..db28b1a5 100644
--- a/src/n-acd/src/n-acd-private.h
+++ b/src/n-acd/src/n-acd-private.h
@@ -105,6 +105,7 @@ struct NAcdProbe {
         void *userdata;
 
         /* state */
+        unsigned int seed;
         unsigned int state;
         unsigned int n_iteration;
         unsigned int defend;
diff --git a/src/n-acd/src/n-acd-probe.c b/src/n-acd/src/n-acd-probe.c
index c1ed59ae..d32e0103 100644
--- a/src/n-acd/src/n-acd-probe.c
+++ b/src/n-acd/src/n-acd-probe.c
@@ -172,7 +172,7 @@ static void n_acd_probe_schedule(NAcdProbe *probe, uint64_t n_timeout, unsigned
         if (n_jitter) {
                 uint64_t random;
 
-                random = ((uint64_t)rand_r(&probe->acd->seed) << 32) | (uint64_t)rand_r(&probe->acd->seed);
+                random = ((uint64_t)rand_r(&probe->seed) << 32) | (uint64_t)rand_r(&probe->seed);
                 n_time += random % n_jitter;
         }
 
@@ -283,6 +283,7 @@ int n_acd_probe_new(NAcdProbe **probep, NAcd *acd, NAcdProbeConfig *config) {
         *probe = (NAcdProbe)N_ACD_PROBE_NULL(*probe);
         probe->acd = n_acd_ref(acd);
         probe->ip = config->ip;
+        probe->seed = acd->seed;
 
         /*
          * We use the provided timeout-length as multiplier for all our