diff options
Diffstat (limited to 'src/libwifi/core/core.c')
-rw-r--r-- | src/libwifi/core/core.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/libwifi/core/core.c b/src/libwifi/core/core.c index 0340a82..863e58f 100644 --- a/src/libwifi/core/core.c +++ b/src/libwifi/core/core.c | |||
@@ -25,9 +25,17 @@ void libwifi_random_mac(unsigned char buf[6], unsigned char prefix[3]) { | |||
25 | memset(buf, 0, 6); | 25 | memset(buf, 0, 6); |
26 | if (prefix != NULL) { | 26 | if (prefix != NULL) { |
27 | memcpy(buf, prefix, 3); | 27 | memcpy(buf, prefix, 3); |
28 | getrandom(buf + 3, 3, 0); | 28 | #if __APPLE__ |
29 | arc4random_buf(buf + 3, 3); | ||
30 | #else | ||
31 | getrandom(buf + 3, 3, 0); | ||
32 | #endif /* __APPLE__ */ | ||
29 | } else { | 33 | } else { |
34 | #if __APPLE__ | ||
35 | arc4random_buf(buf, 6); | ||
36 | #else | ||
30 | getrandom(buf, 6, 0); | 37 | getrandom(buf, 6, 0); |
38 | #endif /* __APPLE__ */ | ||
31 | } | 39 | } |
32 | } | 40 | } |
33 | 41 | ||