summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Goulet <dgoulet@torproject.org>2021-03-10 10:04:26 -0500
committerDavid Goulet <dgoulet@torproject.org>2021-03-10 10:04:26 -0500
commitc1b43d79eb35a33e149ea43d9f431cc8afdcef4c (patch)
tree6829ba777691d6413f0d588e602768505c05888a
parentfa06aaf7d787709589f48d8e10789c67782b1657 (diff)
parent690c7be2537dc30be2d1f4978af7df77c46c2782 (diff)
downloadtor-c1b43d79eb35a33e149ea43d9f431cc8afdcef4c.tar.gz
tor-c1b43d79eb35a33e149ea43d9f431cc8afdcef4c.zip
Merge branch 'maint-0.4.5' into release-0.4.5
-rw-r--r--changes/bug403155
-rw-r--r--src/lib/meminfo/.may_include1
-rw-r--r--src/lib/meminfo/meminfo.c3
3 files changed, 8 insertions, 1 deletions
diff --git a/changes/bug40315 b/changes/bug40315
new file mode 100644
index 0000000000..9e9c740d96
--- /dev/null
+++ b/changes/bug40315
@@ -0,0 +1,5 @@
+ o Minor bugfixes (Linux, relay):
+ - Fix a bug in determining total available system memory that would have
+ been triggered if the format of /proc/meminfo had ever changed
+ to include "MemTotal:" in the middle of a line. Fixes bug 40315;
+ bugfix on 0.2.5.4-alpha.
diff --git a/src/lib/meminfo/.may_include b/src/lib/meminfo/.may_include
index 9e4d25fd6a..12fe36d134 100644
--- a/src/lib/meminfo/.may_include
+++ b/src/lib/meminfo/.may_include
@@ -5,4 +5,5 @@ lib/fs/*.h
lib/log/*.h
lib/malloc/*.h
lib/meminfo/*.h
+lib/string/*.h
lib/testsupport/*.h
diff --git a/src/lib/meminfo/meminfo.c b/src/lib/meminfo/meminfo.c
index b7d991e410..77da579f99 100644
--- a/src/lib/meminfo/meminfo.c
+++ b/src/lib/meminfo/meminfo.c
@@ -17,6 +17,7 @@
#include "lib/fs/files.h"
#include "lib/log/log.h"
#include "lib/malloc/malloc.h"
+#include "lib/string/util_string.h"
#ifdef HAVE_FCNTL_H
#include <fcntl.h>
@@ -65,7 +66,7 @@ get_total_system_memory_impl(void)
s = read_file_to_str_until_eof(fd, 65536, &file_size);
if (!s)
goto err;
- cp = strstr(s, "MemTotal:");
+ cp = find_str_at_start_of_line(s, "MemTotal:");
if (!cp)
goto err;
/* Use the system sscanf so that space will match a wider number of space */