Only call getauxval(3) if HAVE_GETAUXVAL is defined. Fixes build on older
authorkettenis <kettenis@openbsd.org>
Wed, 16 Jul 2014 14:26:47 +0000 (14:26 +0000)
committerkettenis <kettenis@openbsd.org>
Wed, 16 Jul 2014 14:26:47 +0000 (14:26 +0000)
Linux (such as Ubuntu 12.04LTS) that don't have it yet.  Seems the AT_XXX
defines are pulled in by <link.h> now.

ok beck@

lib/libcrypto/arc4random/getentropy_linux.c
lib/libcrypto/crypto/getentropy_linux.c

index 40ea8a1..d5d36da 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: getentropy_linux.c,v 1.24 2014/07/13 13:37:38 deraadt Exp $   */
+/*     $OpenBSD: getentropy_linux.c,v 1.25 2014/07/16 14:26:47 kettenis Exp $  */
 
 /*
  * Copyright (c) 2014 Theo de Raadt <deraadt@openbsd.org>
@@ -486,6 +486,7 @@ getentropy_fallback(void *buf, size_t len)
 
                        HD(cnt);
                }
+#ifdef HAVE_GETAUXVAL
 #ifdef AT_RANDOM
                /* Not as random as you think but we take what we are given */
                p = (char *) getauxval(AT_RANDOM);
@@ -501,6 +502,7 @@ getentropy_fallback(void *buf, size_t len)
                p = (char *) getauxval(AT_BASE);
                if (p)
                        HD(p);
+#endif
 #endif
 
                SHA512_Final(results, &ctx);
index 40ea8a1..d5d36da 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: getentropy_linux.c,v 1.24 2014/07/13 13:37:38 deraadt Exp $   */
+/*     $OpenBSD: getentropy_linux.c,v 1.25 2014/07/16 14:26:47 kettenis Exp $  */
 
 /*
  * Copyright (c) 2014 Theo de Raadt <deraadt@openbsd.org>
@@ -486,6 +486,7 @@ getentropy_fallback(void *buf, size_t len)
 
                        HD(cnt);
                }
+#ifdef HAVE_GETAUXVAL
 #ifdef AT_RANDOM
                /* Not as random as you think but we take what we are given */
                p = (char *) getauxval(AT_RANDOM);
@@ -501,6 +502,7 @@ getentropy_fallback(void *buf, size_t len)
                p = (char *) getauxval(AT_BASE);
                if (p)
                        HD(p);
+#endif
 #endif
 
                SHA512_Final(results, &ctx);