tor

The Tor anonymity network
git clone https://git.dasho.dev/tor.git
Log | Files | Refs | README | LICENSE

commit 4aaa4215e7e11f318c5a50124e29dc0b50ce21e1
parent 31508a0abccfee1cda0869a9a7d22df74d6b67b7
Author: Nick Mathewson <nickm@torproject.org>
Date:   Thu, 12 Apr 2018 12:24:36 -0400

Attempt to fix 32-bit builds, which broke with 31508a0abccfee1cd

When size_t is 32 bits, doing "size_t ram; if (ram > 8GB) { ... }"
produces a compile-time warning.

Bug caused by #24782 fix; not in any released Tor.

Diffstat:
Msrc/or/config.c | 10+++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/src/or/config.c b/src/or/config.c @@ -4545,7 +4545,15 @@ compute_real_max_mem_in_queues(const uint64_t val, int log_guess) /* We detected the amount of memory available. */ uint64_t avail = 0; - if (ram >= (8 * ONE_GIGABYTE)) { +#if SIZEOF_SIZE_T > 4 +/* On a 64-bit platform, we consider 8GB "very large". */ +#define RAM_IS_VERY_LARGE(x) ((x) >= (8 * ONE_GIGABYTE)) +#else +/* On a 32-bit platform, we can't have 8GB of ram. */ +#define RAM_IS_VERY_LARGE(x) (0) +#endif + + if (RAM_IS_VERY_LARGE(ram)) { /* If we have 8 GB, or more, RAM available, we set the MaxMemInQueues * to 0.4 * RAM. The idea behind this value is that the amount of RAM * is more than enough for a single relay and should allow the relay