[nginx] Win32: extended ngx_random() range to 0x7fffffff.
Sergey Kandaurov
pluknet at nginx.com
Mon Dec 25 17:15:26 UTC 2023
details: https://hg.nginx.org/nginx/rev/514c518b9d6c
branches:
changeset: 9198:514c518b9d6c
user: J Carter <jordanc.carter at outlook.com>
date: Sat Dec 09 08:38:14 2023 +0000
description:
Win32: extended ngx_random() range to 0x7fffffff.
rand() is used on win32. RAND_MAX is implementation defined. win32's is
0x7fff.
Existing uses of ngx_random() rely upon 0x7fffffff range provided by
POSIX implementations of random().
diffstat:
src/os/win32/ngx_win32_config.h | 6 +++++-
1 files changed, 5 insertions(+), 1 deletions(-)
diffs (16 lines):
diff -r cc16989c6d61 -r 514c518b9d6c src/os/win32/ngx_win32_config.h
--- a/src/os/win32/ngx_win32_config.h Sat Dec 16 03:40:01 2023 +0400
+++ b/src/os/win32/ngx_win32_config.h Sat Dec 09 08:38:14 2023 +0000
@@ -280,7 +280,11 @@ typedef int sig_atomic_t
#define NGX_HAVE_GETADDRINFO 1
-#define ngx_random rand
+#define ngx_random() \
+ ((long) (0x7fffffff & ( ((uint32_t) rand() << 16) \
+ ^ ((uint32_t) rand() << 8) \
+ ^ ((uint32_t) rand()) )))
+
#define ngx_debug_init()
More information about the nginx-devel
mailing list