Bug 1282141 - compensate for arc4random_buf not being available on Android; r=jld

As a followup to the recent patch that fixed warnings in this area, I
discovered that arc4random_buf actually isn't available on
Android (?)...possibly only when compiling with recent NDKs.  This
change enables us to link successfully, as we can use libevent's
home-grown implementation.
This commit is contained in:
Nathan Froyd 2016-06-27 22:41:32 -04:00
parent 3b5152d79e
commit d448beedaf
2 changed files with 27 additions and 9 deletions

View File

@ -58,7 +58,7 @@ evutil_secure_rng_global_setup_locks_(const int enable_locks)
static void
ev_arc4random_buf(void *buf, size_t n)
{
#if defined(_EVENT_HAVE_ARC4RANDOM_BUF) && !defined(__APPLE__)
#if defined(_EVENT_HAVE_ARC4RANDOM_BUF) && !(defined(__APPLE__) || defined(__ANDROID__))
arc4random_buf(buf, n);
#else
unsigned char *b = buf;

View File

@ -1,14 +1,32 @@
e6dd814 evutil_rand.c fixup for clang
diff --git a/ipc/chromium/src/third_party/libevent/evutil_rand.c b/ipc/chromium/src/third_party/libevent/evutil_rand.c
index 86c86b2..0c41765 100644
only in patch2:
unchanged:
--- a/ipc/chromium/src/third_party/libevent/evutil_rand.c
+++ b/ipc/chromium/src/third_party/libevent/evutil_rand.c
@@ -59,7 +59,7 @@ static void
@@ -58,7 +58,7 @@ evutil_secure_rng_global_setup_locks_(const int enable_locks)
static void
ev_arc4random_buf(void *buf, size_t n)
{
#if defined(_EVENT_HAVE_ARC4RANDOM_BUF) && !defined(__APPLE__)
- return arc4random_buf(buf, n);
+ arc4random_buf(buf, n);
-#if defined(_EVENT_HAVE_ARC4RANDOM_BUF) && !defined(__APPLE__)
+#if defined(_EVENT_HAVE_ARC4RANDOM_BUF) && !(defined(__APPLE__) || defined(__ANDROID__))
arc4random_buf(buf, n);
#else
unsigned char *b = buf;
only in patch2:
unchanged:
--- a/ipc/chromium/src/third_party/libevent/patches/android-arc4random-buf.patch
+++ b/ipc/chromium/src/third_party/libevent/patches/android-arc4random-buf.patch
@@ -1,14 +0,0 @@
-e6dd814 evutil_rand.c fixup for clang
-diff --git a/ipc/chromium/src/third_party/libevent/evutil_rand.c b/ipc/chromium/src/third_party/libevent/evutil_rand.c
-index 86c86b2..0c41765 100644
---- a/ipc/chromium/src/third_party/libevent/evutil_rand.c
-+++ b/ipc/chromium/src/third_party/libevent/evutil_rand.c
-@@ -59,7 +59,7 @@ static void
- ev_arc4random_buf(void *buf, size_t n)
- {
- #if defined(_EVENT_HAVE_ARC4RANDOM_BUF) && !defined(__APPLE__)
-- return arc4random_buf(buf, n);
-+ arc4random_buf(buf, n);
- #else
- unsigned char *b = buf;
-