chiark / gitweb /
tmpfiles: Fix file descriptor leak on error
authorThomas Jarosch <thomas.jarosch@intra2net.com>
Tue, 25 Dec 2012 12:46:46 +0000 (13:46 +0100)
committerLennart Poettering <lennart@poettering.net>
Thu, 3 Jan 2013 21:42:55 +0000 (22:42 +0100)
Detected by cppcheck

src/tmpfiles/tmpfiles.c

index c27d0112f9d00a271578165fd79cd98ea2d2dea5..d8fb07e59a1e0008bfc62915be066274da730a14 100644 (file)
@@ -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);