summaryrefslogtreecommitdiff
path: root/src/platform/tests
diff options
context:
space:
mode:
authorThomas Haller <thaller@redhat.com>2018-08-30 13:56:05 +0200
committerThomas Haller <thaller@redhat.com>2018-09-04 07:38:30 +0200
commit6b813b904face9519b0d441d7c58d227863e386a (patch)
tree05b369cc743fdb63c592715651a4b7ee5f580a63 /src/platform/tests
parentc5c0ffdfd0b5fd757ef42b505d1f4cc6f1476a54 (diff)
downloadNetworkManager-6b813b904face9519b0d441d7c58d227863e386a.tar.gz
core: extend nm_utils_*_get_contents() to zero temporary memory
When reading a file, we may allocate intermediate buffers (realloc()). Also, reading might fail halfway through the process. Add a new flag that makes sure that this memory is cleared. The point is when reading secrets, that we don't accidentally leave private sensitive material in memory.
Diffstat (limited to 'src/platform/tests')
-rw-r--r--src/platform/tests/test-link.c14
1 files changed, 11 insertions, 3 deletions
diff --git a/src/platform/tests/test-link.c b/src/platform/tests/test-link.c
index 20b3374b28..5e6d02698a 100644
--- a/src/platform/tests/test-link.c
+++ b/src/platform/tests/test-link.c
@@ -2622,7 +2622,9 @@ test_sysctl_rename (void)
case 0: {
gs_free char *c = NULL;
- if (nm_utils_file_get_contents (dirfd, "ifindex", 1*1024*1024, &c, NULL, NULL) < 0)
+ if (nm_utils_file_get_contents (dirfd, "ifindex", 1*1024*1024,
+ NM_UTILS_FILE_GET_CONTENTS_FLAG_NONE,
+ &c, NULL, NULL) < 0)
g_assert_not_reached();
g_assert_cmpint (ifindex[0], ==, (int) _nm_utils_ascii_str_to_int64 (c, 10, 0, G_MAXINT, -1));
break;
@@ -2686,7 +2688,9 @@ test_sysctl_netns_switch (void)
{
gs_free char *c = NULL;
- if (nm_utils_file_get_contents (dirfd, "ifindex", 0, &c, NULL, NULL) < 0)
+ if (nm_utils_file_get_contents (dirfd, "ifindex", 0,
+ NM_UTILS_FILE_GET_CONTENTS_FLAG_NONE,
+ &c, NULL, NULL) < 0)
g_assert_not_reached();
g_assert_cmpint (ifindex, ==, (int) _nm_utils_ascii_str_to_int64 (c, 10, 0, G_MAXINT, -1));
}
@@ -2698,7 +2702,11 @@ test_sysctl_netns_switch (void)
{
gs_free char *c = NULL;
- if (nm_utils_file_get_contents (-1, nm_sprintf_bufa (100, "/sys/class/net/%s/ifindex", IFNAME), 0, &c, NULL, NULL) < 0)
+ if (nm_utils_file_get_contents (-1,
+ nm_sprintf_bufa (100, "/sys/class/net/%s/ifindex", IFNAME),
+ 0,
+ NM_UTILS_FILE_GET_CONTENTS_FLAG_NONE,
+ &c, NULL, NULL) < 0)
ifindex_tmp = -1;
else
ifindex_tmp = _nm_utils_ascii_str_to_int64 (c, 10, 0, G_MAXINT, -2);