diff options
author | Stefan Fritsch <sf@apache.org> | 2013-02-04 20:34:08 +0100 |
---|---|---|
committer | Stefan Fritsch <sf@apache.org> | 2013-02-04 20:34:08 +0100 |
commit | 8736e6a6d00beb60c6c7744e22e17c1ccb478e56 (patch) | |
tree | e7632f4b021af3a4c00d1c06f9f562a07edd84db /modules/ssl/ssl_engine_rand.c | |
parent | xforms (diff) | |
download | apache2-8736e6a6d00beb60c6c7744e22e17c1ccb478e56.tar.xz apache2-8736e6a6d00beb60c6c7744e22e17c1ccb478e56.zip |
Avoid valgrind warnings in mod_ssl random number generator
We intentionally add uninitialized stack memory. To avoid warnings,
make valgrind believe that the memory is defined.
Add configure option to enable valgrind support
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1442307 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'modules/ssl/ssl_engine_rand.c')
-rw-r--r-- | modules/ssl/ssl_engine_rand.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/modules/ssl/ssl_engine_rand.c b/modules/ssl/ssl_engine_rand.c index df25d8fd63..a5893e1561 100644 --- a/modules/ssl/ssl_engine_rand.c +++ b/modules/ssl/ssl_engine_rand.c @@ -29,6 +29,11 @@ #include "ssl_private.h" +#if HAVE_VALGRIND +#include <valgrind.h> +#include <memcheck.h> +#endif + /* _________________________________________________________________ ** ** Support for better seeding of SSL library's RNG @@ -113,6 +118,11 @@ int ssl_rand_seed(server_rec *s, apr_pool_t *p, ssl_rsctx_t nCtx, char *prefix) /* * seed in some current state of the run-time stack (128 bytes) */ +#if HAVE_VALGRIND + if (ssl_running_on_valgrind) { + VALGRIND_MAKE_MEM_DEFINED(stackdata, sizeof(stackdata)); + } +#endif n = ssl_rand_choosenum(0, sizeof(stackdata)-128-1); RAND_seed(stackdata+n, 128); nDone += 128; |