From f3bd4b3df598ce5ea3137b13054ba7cc00714640 Mon Sep 17 00:00:00 2001 From: Zbigniew Jędrzejewski-Szmek Date: Oct 19 2022 08:10:57 +0000 Subject: 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. --- diff --git a/src/fuzz/fuzz.h b/src/fuzz/fuzz.h index a7d3a89..77e0ad9 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 341e706..dbae8a4 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 4f084f6..ba6dd9a 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 b3e1a32..9ba428e 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);