svn commit: r307148 - in head/lib/libc: gen stdlib
Ed Maste
emaste at FreeBSD.org
Wed Oct 12 13:56:16 UTC 2016
Author: emaste
Date: Wed Oct 12 13:56:14 2016
New Revision: 307148
URL: https://svnweb.freebsd.org/changeset/base/307148
Log:
Add comment on use of abort() in libc
Suggested by: jonathan (in review D8133)
Modified:
head/lib/libc/gen/arc4random.c
head/lib/libc/stdlib/random.c
Modified: head/lib/libc/gen/arc4random.c
==============================================================================
--- head/lib/libc/gen/arc4random.c Wed Oct 12 13:51:41 2016 (r307147)
+++ head/lib/libc/gen/arc4random.c Wed Oct 12 13:56:14 2016 (r307148)
@@ -144,8 +144,15 @@ arc4_stir(void)
arc4_init();
rs_initialized = 1;
}
- if (arc4_sysctl(rdat, KEYSIZE) != KEYSIZE)
- abort(); /* Random sysctl cannot fail. */
+ if (arc4_sysctl(rdat, KEYSIZE) != KEYSIZE) {
+ /*
+ * The sysctl cannot fail. If it does fail on some FreeBSD
+ * derivative or after some future change, just abort so that
+ * the problem will be found and fixed. abort is not normally
+ * suitable for a library but makes sense here.
+ */
+ abort();
+ }
arc4_addrandom(rdat, KEYSIZE);
Modified: head/lib/libc/stdlib/random.c
==============================================================================
--- head/lib/libc/stdlib/random.c Wed Oct 12 13:51:41 2016 (r307147)
+++ head/lib/libc/stdlib/random.c Wed Oct 12 13:56:14 2016 (r307148)
@@ -279,8 +279,15 @@ srandomdev(void)
mib[0] = CTL_KERN;
mib[1] = KERN_ARND;
- if (sysctl(mib, 2, state, &len, NULL, 0) == -1 || len != expected)
+ if (sysctl(mib, 2, state, &len, NULL, 0) == -1 || len != expected) {
+ /*
+ * The sysctl cannot fail. If it does fail on some FreeBSD
+ * derivative or after some future change, just abort so that
+ * the problem will be found and fixed. abort is not normally
+ * suitable for a library but makes sense here.
+ */
abort();
+ }
if (rand_type != TYPE_0) {
fptr = &state[rand_sep];
More information about the svn-src-head
mailing list