[systemd-devel] [PATCH] Fix file descriptor leak on error

Thomas Jarosch thomas.jarosch at intra2net.com
Tue Dec 25 04:46:46 PST 2012


Detected by cppcheck

Signed-off-by: Thomas Jarosch <thomas.jarosch at intra2net.com>
---
 src/tmpfiles/tmpfiles.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/tmpfiles/tmpfiles.c b/src/tmpfiles/tmpfiles.c
index c27d011..d8fb07e 100644
--- a/src/tmpfiles/tmpfiles.c
+++ b/src/tmpfiles/tmpfiles.c
@@ -507,8 +507,10 @@ static int write_one_file(Item *i, const char *path) {
                 _cleanup_free_ char *unescaped;
 
                 unescaped = cunescape(i->argument);
-                if (unescaped == NULL)
+                if (unescaped == NULL) {
+                        close_nointr_nofail(fd);
                         return log_oom();
+                }
 
                 l = strlen(unescaped);
                 n = write(fd, unescaped, l);
-- 
1.7.11.7



More information about the systemd-devel mailing list