]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
tree-wide: Remove O_CLOEXEC from fdopen
authorChris Down <chris@chrisdown.name>
Wed, 12 Dec 2018 14:58:46 +0000 (14:58 +0000)
committerLennart Poettering <lennart@poettering.net>
Wed, 12 Dec 2018 19:47:40 +0000 (20:47 +0100)
fdopen doesn't accept "e", it's ignored. Let's not mislead people into
believing that it actually sets O_CLOEXEC.

From `man 3 fdopen`:

> e (since glibc 2.7):
> Open the file with the O_CLOEXEC flag. See open(2) for more information. This flag is ignored for fdopen()\ 2

As mentioned by @jlebon in #11131.

17 files changed:
src/basic/fileio.c
src/basic/tmpfile-util.c
src/boot/bootctl.c
src/core/load-fragment.c
src/core/smack-setup.c
src/coredump/coredump.c
src/fsck/fsck.c
src/machine/machine-dbus.c
src/machine/machined-dbus.c
src/network/test-routing-policy-rule.c
src/nspawn/nspawn-setuid.c
src/portable/portable.c
src/portable/portabled-image-bus.c
src/shared/dissect-image.c
src/shared/exec-util.c
src/shared/install.c
src/shared/os-util.c

index 4c200f8393e8315637df0c563b13e0725eb06647..11972a621385fba2c4968be76aa12edee5de9940 100644 (file)
@@ -156,7 +156,7 @@ int write_string_file_ts(
                         goto fail;
                 }
 
-                f = fdopen(fd, "we");
+                f = fdopen(fd, "w");
                 if (!f) {
                         r = -errno;
                         safe_close(fd);
index dba0492ba841f79ec0bd5f88e7db23fe8578ebf1..669eb2666cee88979dfb025ecbbbda4b2661b1a2 100644 (file)
@@ -36,7 +36,7 @@ int fopen_temporary(const char *path, FILE **_f, char **_temp_path) {
                 return -errno;
         }
 
-        f = fdopen(fd, "we");
+        f = fdopen(fd, "w");
         if (!f) {
                 unlink_noerrno(t);
                 free(t);
index 2008341f631e1132ca6c008195625809cd917c1b..fc4726e69a0993d42fff3805839402a050f78d8a 100644 (file)
@@ -823,7 +823,7 @@ static int install_loader_config(const char *esp_path) {
         if (fd < 0)
                 return log_error_errno(fd, "Failed to open \"%s\" for writing: %m", p);
 
-        f = fdopen(fd, "we");
+        f = fdopen(fd, "w");
         if (!f) {
                 safe_close(fd);
                 return log_oom();
index 36e874de2948cea6e7c5b342c2a75dadd91d690d..fc5644f489690e87ea8a5873248a7fa23ae9b339 100644 (file)
@@ -4415,7 +4415,7 @@ static int open_follow(char **filename, FILE **_f, Set *names, char **_final) {
                 free_and_replace(*filename, target);
         }
 
-        f = fdopen(fd, "re");
+        f = fdopen(fd, "r");
         if (!f) {
                 safe_close(fd);
                 return -errno;
index 4bb2051aa3deb93590b064868e887247b9f1bf9f..49b37aefc723aa128540b6ad8d70cb87bf1e898a 100644 (file)
@@ -72,7 +72,7 @@ static int write_access2_rules(const char* srcdir) {
                         continue;
                 }
 
-                policy = fdopen(fd, "re");
+                policy = fdopen(fd, "r");
                 if (!policy) {
                         if (r == 0)
                                 r = -errno;
@@ -154,7 +154,7 @@ static int write_cipso2_rules(const char* srcdir) {
                         continue;
                 }
 
-                policy = fdopen(fd, "re");
+                policy = fdopen(fd, "r");
                 if (!policy) {
                         if (r == 0)
                                 r = -errno;
@@ -227,7 +227,7 @@ static int write_netlabel_rules(const char* srcdir) {
                         continue;
                 }
 
-                policy = fdopen(fd, "re");
+                policy = fdopen(fd, "r");
                 if (!policy) {
                         if (r == 0)
                                 r = -errno;
index 79d627c465cf28e3bf25a4412453a14af974091b..0c888b26f9ca158f78c4ef4f6ac229f0050dcb35 100644 (file)
@@ -553,7 +553,7 @@ static int compose_open_fds(pid_t pid, char **open_fds) {
                 if (fd < 0)
                         continue;
 
-                fdinfo = fdopen(fd, "re");
+                fdinfo = fdopen(fd, "r");
                 if (!fdinfo) {
                         safe_close(fd);
                         continue;
index 7fc4a283ce838ff762a1a7f91ef82261739a06e3..ba39f596fc75b4a320a5ec3d127fc927cd3d14b0 100644 (file)
@@ -177,7 +177,7 @@ static int process_progress(int fd) {
         if (fd < 0)
                 return 0;
 
-        f = fdopen(fd, "re");
+        f = fdopen(fd, "r");
         if (!f) {
                 safe_close(fd);
                 return -errno;
index 285918b4cc5c63f9badd98718a8371924e953ac9..48270b3709af628d910d997f6a5d0f9b33c698af 100644 (file)
@@ -370,7 +370,7 @@ int bus_machine_method_get_os_release(sd_bus_message *message, void *userdata, s
 
                 pair[1] = safe_close(pair[1]);
 
-                f = fdopen(pair[0], "re");
+                f = fdopen(pair[0], "r");
                 if (!f)
                         return -errno;
 
index d613414fded43b55efb3b0b6d842c2a6f1add0e5..9afae72ae5f231f80ae86ce4210ed7b3a9d49596 100644 (file)
@@ -615,7 +615,7 @@ static int clean_pool_done(Operation *operation, int ret, sd_bus_error *error) {
         if (lseek(operation->extra_fd, 0, SEEK_SET) == (off_t) -1)
                 return -errno;
 
-        f = fdopen(operation->extra_fd, "re");
+        f = fdopen(operation->extra_fd, "r");
         if (!f)
                 return -errno;
 
index f80f3c09a90f0b5f1c03165b34ef18c45c4c3d44..57bfb6af6802f5d98212eb3624f23295837cece0 100644 (file)
@@ -28,14 +28,14 @@ static void test_rule_serialization(const char *title, const char *ruleset, cons
 
         fd = mkostemp_safe(pattern);
         assert_se(fd >= 0);
-        assert_se(f = fdopen(fd, "a+e"));
+        assert_se(f = fdopen(fd, "a+"));
         assert_se(write_string_stream(f, ruleset, 0) == 0);
 
         assert_se(routing_policy_load_rules(pattern, &rules) == 0);
 
         fd2 = mkostemp_safe(pattern2);
         assert_se(fd2 >= 0);
-        assert_se(f2 = fdopen(fd2, "a+e"));
+        assert_se(f2 = fdopen(fd2, "a+"));
 
         assert_se(routing_policy_serialize_rules(rules, f2) == 0);
         assert_se(fflush_and_check(f2) == 0);
@@ -46,7 +46,7 @@ static void test_rule_serialization(const char *title, const char *ruleset, cons
 
         fd3 = mkostemp_safe(pattern3);
         assert_se(fd3 >= 0);
-        assert_se(f3 = fdopen(fd3, "we"));
+        assert_se(f3 = fdopen(fd3, "w"));
         assert_se(write_string_stream(f3, expected ?: ruleset, 0) == 0);
 
         cmd = strjoina("diff -u ", pattern3, " ", pattern2);
index 86fd9deec0fee11dd533d8a45589fd977639eabd..0026e4e3fc7a7dfe94d0f4f629cc40256294be47 100644 (file)
@@ -91,7 +91,7 @@ int change_uid_gid(const char *user, char **_home) {
         if (fd < 0)
                 return fd;
 
-        f = fdopen(fd, "re");
+        f = fdopen(fd, "r");
         if (!f)
                 return log_oom();
         fd = -1;
@@ -164,7 +164,7 @@ int change_uid_gid(const char *user, char **_home) {
         if (fd < 0)
                 return fd;
 
-        f = fdopen(fd, "re");
+        f = fdopen(fd, "r");
         if (!f)
                 return log_oom();
         fd = -1;
index 5b62486ea9eb023409c11c0219ea717f1a2ddefe..920bd866f56927dd959015970fcc1e5be4fcd114 100644 (file)
@@ -1089,7 +1089,7 @@ static int test_chroot_dropin(
                 return log_debug_errno(errno, "Failed to open %s/%s: %m", where, p);
         }
 
-        f = fdopen(fd, "re");
+        f = fdopen(fd, "r");
         if (!f)
                 return log_debug_errno(errno, "Failed to convert file handle: %m");
         fd = -1;
index 1e618175c72b24299e0c351578d320f9ab4e1f12..360559811fa72393215f9f70ba2255897541333c 100644 (file)
@@ -73,7 +73,7 @@ static int append_fd(sd_bus_message *m, PortableMetadata *d) {
         assert(d);
         assert(d->fd >= 0);
 
-        f = fdopen(d->fd, "re");
+        f = fdopen(d->fd, "r");
         if (!f)
                 return -errno;
 
index 4e572ac861c5a18c24b633f593ee46888b9b16b9..6ea8e4df8d942aaa099bffeb1c36c4b2f9844e6b 100644 (file)
@@ -1300,7 +1300,7 @@ int dissected_image_acquire_metadata(DissectedImage *m) {
 
                 fds[2*k+1] = safe_close(fds[2*k+1]);
 
-                f = fdopen(fds[2*k], "re");
+                f = fdopen(fds[2*k], "r");
                 if (!f) {
                         r = -errno;
                         goto finish;
index d66b3004590a12495759cb6d50167b06db27f27d..17a278a00fcc98e8c4c6d2d4a6440a40fc58bc1a 100644 (file)
@@ -308,7 +308,7 @@ static int gather_environment_consume(int fd, void *arg) {
 
         assert(env);
 
-        f = fdopen(fd, "re");
+        f = fdopen(fd, "r");
         if (!f) {
                 safe_close(fd);
                 return -errno;
index 822645ef43b0bb25ab1aecdb902d2c28ca4b1860..51d33b80e9871799a921eb4ad8949f173c705d00 100644 (file)
@@ -1286,7 +1286,7 @@ static int unit_file_load(
         if (r < 0)
                 return r;
 
-        f = fdopen(fd, "re");
+        f = fdopen(fd, "r");
         if (!f)
                 return -errno;
         fd = -1;
index f7d46d3c477969e61af4a35a070e67b858cb9cfb..b2d5ce32e7771c89645d94efaa3bab898e016248 100644 (file)
@@ -74,7 +74,7 @@ int fopen_os_release(const char *root, char **ret_path, FILE **ret_file) {
         if (r < 0)
                 return r;
 
-        f = fdopen(fd, "re");
+        f = fdopen(fd, "r");
         if (!f)
                 return -errno;
         fd = -1;