diff --git a/src/or/config.c b/src/or/config.c index ce7adbace68ab7c4de2992bb8b2c02dfce4a3c60..53f2c768d024f55d6fe182f2df66c46550d51b5d 100644 --- a/src/or/config.c +++ b/src/or/config.c @@ -4097,9 +4097,13 @@ have_enough_mem_for_dircache(const or_options_t *options, size_t total_mem, char **msg) { *msg = NULL; + /* XXX We should possibly be looking at MaxMemInQueues here + * unconditionally. Or we should believe total_mem unconditionally. */ if (total_mem == 0) { - if (get_total_system_memory(&total_mem) < 0) - total_mem = options->MaxMemInQueues; + if (get_total_system_memory(&total_mem) < 0) { + total_mem = options->MaxMemInQueues >= SIZE_MAX ? + SIZE_MAX : options->MaxMemInQueues; + } } if (options->DirCache) { if (total_mem < DIRCACHE_MIN_BANDWIDTH) { diff --git a/src/test/include.am b/src/test/include.am index 44a2d86977a56ae69c547a4dff6cff828493572b..786fb77dd05410d0877c248c73bf451c6722dccb 100644 --- a/src/test/include.am +++ b/src/test/include.am @@ -193,6 +193,7 @@ noinst_HEADERS+= \ src/test/rend_test_helpers.h \ src/test/test.h \ src/test/test_helpers.h \ + src/test/test_dir_common.h \ src/test/test_descriptors.inc \ src/test/example_extrainfo.inc \ src/test/failing_routerdescs.inc \