Browse Source

[fuchsia] Update to zx_cprng_draw

This change moves to the final version of zx_cprng_draw, which cannot
fail. If the syscall would fail, either the operating system terminates
or the kernel kills the userspace process (depending on where the error
comes from).

Change-Id: Iea9563c9f63ea5802e2cde741879fa58c19028f4
Reviewed-on: https://boringssl-review.googlesource.com/29424
Reviewed-by: David Benjamin <davidben@google.com>
Commit-Queue: David Benjamin <davidben@google.com>
CQ-Verified: CQ bot account: commit-bot@chromium.org <commit-bot@chromium.org>
kris/onging/CECPQ3_patch15
Adam Barth 6 years ago
committed by CQ bot account: commit-bot@chromium.org
parent
commit
9c3b120b61
1 changed files with 1 additions and 12 deletions
  1. +1
    -12
      crypto/rand_extra/fuchsia.c

+ 1
- 12
crypto/rand_extra/fuchsia.c View File

@@ -24,18 +24,7 @@
#include "../fipsmodule/rand/internal.h" #include "../fipsmodule/rand/internal.h"


void CRYPTO_sysrand(uint8_t *out, size_t requested) { void CRYPTO_sysrand(uint8_t *out, size_t requested) {
while (requested > 0) {
size_t output_bytes_this_pass = ZX_CPRNG_DRAW_MAX_LEN;
if (requested < output_bytes_this_pass) {
output_bytes_this_pass = requested;
}
zx_status_t status = zx_cprng_draw_new(out, output_bytes_this_pass);
if (status != ZX_OK) {
abort();
}
requested -= output_bytes_this_pass;
out += output_bytes_this_pass;
}
zx_cprng_draw(out, requested);
} }


#endif // OPENSSL_FUCHSIA && !BORINGSSL_UNSAFE_DETERMINISTIC_MODE #endif // OPENSSL_FUCHSIA && !BORINGSSL_UNSAFE_DETERMINISTIC_MODE

Loading…
Cancel
Save