From f3bd4b3df598ce5ea3137b13054ba7cc00714640 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Wed, 19 Oct 2022 09:49:59 +0200 Subject: [PATCH] tree-wide: do not use "re" with fmemopen The man page says nothing about "e". Glibc clearly accepts it without fuss, but it is meaningless for a memory object (and probably doesn't work). This use is not portable, so let's avoid it. --- src/fuzz/fuzz.h | 2 +- src/portable/portablectl.c | 4 ++-- src/test/test-fileio.c | 4 ++-- src/test/test-libmount.c | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/fuzz/fuzz.h b/src/fuzz/fuzz.h index a7d3a89fe2c..77e0ad98dc3 100644 --- a/src/fuzz/fuzz.h +++ b/src/fuzz/fuzz.h @@ -14,7 +14,7 @@ static inline FILE* data_to_file(const uint8_t *data, size_t size) { if (size == 0) return fopen("/dev/null", "re"); else - return fmemopen_unlocked((char*) data, size, "re"); + return fmemopen_unlocked((char*) data, size, "r"); } /* Check if we are within the specified size range. diff --git a/src/portable/portablectl.c b/src/portable/portablectl.c index 341e70621fd..dbae8a4d476 100644 --- a/src/portable/portablectl.c +++ b/src/portable/portablectl.c @@ -344,7 +344,7 @@ static int inspect_image(int argc, char *argv[], void *userdata) { _cleanup_free_ char *pretty_portable = NULL, *pretty_os = NULL; _cleanup_fclose_ FILE *f = NULL; - f = fmemopen_unlocked((void*) data, sz, "re"); + f = fmemopen_unlocked((void*) data, sz, "r"); if (!f) return log_error_errno(errno, "Failed to open /etc/os-release buffer: %m"); @@ -400,7 +400,7 @@ static int inspect_image(int argc, char *argv[], void *userdata) { *id = NULL, *version_id = NULL, *sysext_scope = NULL, *portable_prefixes = NULL; _cleanup_fclose_ FILE *f = NULL; - f = fmemopen_unlocked((void*) data, sz, "re"); + f = fmemopen_unlocked((void*) data, sz, "r"); if (!f) return log_error_errno(errno, "Failed to open extension-release buffer: %m"); diff --git a/src/test/test-fileio.c b/src/test/test-fileio.c index 4f084f6162a..ba6dd9ace9d 100644 --- a/src/test/test-fileio.c +++ b/src/test/test-fileio.c @@ -677,7 +677,7 @@ TEST(fgetc) { _cleanup_fclose_ FILE *f = NULL; char c; - assert_se(f = fmemopen_unlocked((void*) chars, sizeof(chars), "re")); + assert_se(f = fmemopen_unlocked((void*) chars, sizeof(chars), "r")); for (size_t i = 0; i < sizeof(chars); i++) { assert_se(safe_fgetc(f, &c) == 1); @@ -770,7 +770,7 @@ static void test_read_line_one_file(FILE *f) { TEST(read_line1) { _cleanup_fclose_ FILE *f = NULL; - assert_se(f = fmemopen_unlocked((void*) buffer, sizeof(buffer), "re")); + assert_se(f = fmemopen_unlocked((void*) buffer, sizeof(buffer), "r")); test_read_line_one_file(f); } diff --git a/src/test/test-libmount.c b/src/test/test-libmount.c index b3e1a327ab4..9ba428e5bef 100644 --- a/src/test/test-libmount.c +++ b/src/test/test-libmount.c @@ -21,7 +21,7 @@ static void test_libmount_unescaping_one( _cleanup_(mnt_free_iterp) struct libmnt_iter *iter = NULL; _cleanup_fclose_ FILE *f = NULL; - f = fmemopen((char*) string, strlen(string), "re"); + f = fmemopen((char*) string, strlen(string), "r"); assert_se(f); assert_se(libmount_parse(title, f, &table, &iter) >= 0); -- 2.47.3