From c19a4d8e475e9d51a75453e36ddf7463735e75e6 Mon Sep 17 00:00:00 2001 From: kettenis <> Date: Thu, 1 Aug 2013 19:42:08 +0000 Subject: Add linker warnings for rand() and random() and various related functions. ok deraadt@ --- src/lib/libc/stdlib/random.c | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) (limited to 'src/lib/libc/stdlib/random.c') diff --git a/src/lib/libc/stdlib/random.c b/src/lib/libc/stdlib/random.c index f299d8e2f6..00edf2dca1 100644 --- a/src/lib/libc/stdlib/random.c +++ b/src/lib/libc/stdlib/random.c @@ -1,4 +1,4 @@ -/* $OpenBSD: random.c,v 1.18 2013/03/15 19:07:53 tedu Exp $ */ +/* $OpenBSD: random.c,v 1.19 2013/08/01 19:42:08 kettenis Exp $ */ /* * Copyright (c) 1983 Regents of the University of California. * All rights reserved. @@ -233,6 +233,11 @@ srandom(unsigned int x) UNLOCK(); } +#if defined(APIWARN) +__warn_references(srandom, + "warning: srandom() seed choices are invariably poor"); +#endif + /* * srandomdev: * @@ -267,6 +272,11 @@ srandomdev(void) UNLOCK(); } +#if defined(APIWARN) +__warn_references(srandomdev, + "warning: srandomdev() usage; consider switching to arc4random()"); +#endif + /* * initstate: * @@ -429,3 +439,8 @@ random(void) UNLOCK(); return r; } + +#if defined(APIWARN) +__warn_references(random, + "warning: random() isn't random; consider using arc4random()"); +#endif -- cgit v1.2.3-55-g6feb