summaryrefslogtreecommitdiff
path: root/lib/typesafe.c
diff options
context:
space:
mode:
authorRafael Zalamena <rzalamena@opensourcerouting.org>2020-04-17 10:35:15 -0300
committerRafael Zalamena <rzalamena@opensourcerouting.org>2020-04-17 20:57:43 -0300
commit5920b3eb38a6cfd1c9b87106aa7403171408f0bd (patch)
treefe6c96488ab537bebfeb07f658b4d500ba20c446 /lib/typesafe.c
parent4110aa2cb342fb0f025746c4b7df7707f69334c5 (diff)
*: replace all random() calls
Replace all `random()` calls with a function called `frr_weak_random()` and make it clear that it is only supposed to be used for weak random applications. Use the annotation described by the Coverity Scan documentation to ignore `random()` call warnings. Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
Diffstat (limited to 'lib/typesafe.c')
-rw-r--r--lib/typesafe.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/typesafe.c b/lib/typesafe.c
index 6635cf7506..a52b55b734 100644
--- a/lib/typesafe.c
+++ b/lib/typesafe.c
@@ -23,6 +23,7 @@
#include "typesafe.h"
#include "memory.h"
+#include "network.h"
DEFINE_MTYPE_STATIC(LIB, TYPEDHASH_BUCKET, "Typed-hash bucket")
DEFINE_MTYPE_STATIC(LIB, SKIPLIST_OFLOW, "Skiplist overflow")
@@ -196,7 +197,7 @@ struct sskip_item *typesafe_skiplist_add(struct sskip_head *head,
int cmpval;
/* level / newlevel are 1-counted here */
- newlevel = __builtin_ctz(random()) + 1;
+ newlevel = __builtin_ctz(frr_weak_random()) + 1;
if (newlevel > SKIPLIST_MAXDEPTH)
newlevel = SKIPLIST_MAXDEPTH;