From 9826038f0bb41a79b2ab06fd7e5f1ffa745b7156 Mon Sep 17 00:00:00 2001 From: antirez Date: Thu, 22 Jan 2015 11:00:26 +0100 Subject: [PATCH] counter must be static in getRandomHexChars(). --- src/util.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/util.c b/src/util.c index 0a2307c9..f995bf1e 100644 --- a/src/util.c +++ b/src/util.c @@ -431,9 +431,11 @@ int d2string(char *buf, size_t len, double value) { void getRandomHexChars(char *p, unsigned int len) { char *charset = "0123456789abcdef"; unsigned int j; - static int seed_initialized = 0; unsigned char seed[20]; /* A seed to have a different sequence each run. */ - uint64_t counter = 0; /* The counter we hash together with the seed. */ + + /* Global state. */ + static int seed_initialized = 0; + static uint64_t counter = 0; /* The counter we hash with the seed. */ if (!seed_initialized) { /* Initialize a seed and use SHA1 in counter mode, where we hash