summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin McCorkell <rmccorkell@karoshi.org.uk>2015-07-09 15:28:05 +0100
committerJeremy Allison <jra@samba.org>2015-07-10 06:33:07 +0200
commit936a799d32c28dc8857b97a5fe90f0150a280fa4 (patch)
tree48cdb396208df8d806837f07c3b3a5a58f2455e5
parent57e2c0dfa6a66b5ad27748f3d7e675a74675e14f (diff)
downloadsamba-936a799d32c28dc8857b97a5fe90f0150a280fa4.tar.gz
Replace random() and related calls with generate_random_buffer()
Result: better seeded random numbers that are cryptographically secure (not that it matters in this case) Please let it be right this time... Signed-off-by: Robin McCorkell <rmccorkell@karoshi.org.uk> Reviewed-by: Volker Lendecke <Volker.Lendecke@SerNet.DE> Reviewed-by: Jeremy Allison <jra@samba.org>
-rw-r--r--dfs_server/dfs_server_ad.c4
-rw-r--r--source3/smbd/msdfs.c7
2 files changed, 4 insertions, 7 deletions
diff --git a/dfs_server/dfs_server_ad.c b/dfs_server/dfs_server_ad.c
index 3d93e19c989..61466329eaf 100644
--- a/dfs_server/dfs_server_ad.c
+++ b/dfs_server/dfs_server_ad.c
@@ -42,13 +42,11 @@ static void shuffle_dc_set(struct dc_set *list)
{
uint32_t i;
- srandom(time(NULL));
-
for (i = list->count; i > 1; i--) {
uint32_t r;
const char *tmp;
- r = random() % i;
+ r = generate_random() % i;
tmp = list->names[i - 1];
list->names[i - 1] = list->names[r];
diff --git a/source3/smbd/msdfs.c b/source3/smbd/msdfs.c
index a39efce0689..e895c1f7acc 100644
--- a/source3/smbd/msdfs.c
+++ b/source3/smbd/msdfs.c
@@ -431,13 +431,12 @@ NTSTATUS create_conn_struct_cwd(TALLOC_CTX *ctx,
static void shuffle_strlist(char **list, int count)
{
- int i, r;
+ int i;
+ uint32_t r;
char *tmp;
- srandom(time(NULL));
-
for (i = count; i > 1; i--) {
- r = random() % i;
+ r = generate_random() % i;
tmp = list[i-1];
list[i-1] = list[r];