Re: [cgit PATCH] Close file descriptor on error in readfile()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



All,

Sorry for the earlier HTML email, I'd misconfigured my mail client so accept my apologies for that (and thanks Steven). Here's the reworked patch:

From d928507bf4c8727c3848525f4744d7c8507de5e8 Mon Sep 17 00:00:00 2001
From: Rys Sommefeldt <rys@xxxxxxxxxxxxxx>
Date: Sat, 7 Nov 2009 12:15:24 +0000
Subject: [PATCH] Close fd on error in readfile()

---
 shared.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/shared.c b/shared.c
index d7b2d5a..a676fa3 100644
--- a/shared.c
+++ b/shared.c
@@ -406,12 +406,15 @@ int readfile(const char *path, char **buf, size_t *size)
    fd = open(path, O_RDONLY);
    if (fd == -1)
        return errno;
-   if (fstat(fd, &st))
+   if (fstat(fd, &st)) {
+       close(fd);
        return errno;
+   }
    if (!S_ISREG(st.st_mode))
        return EISDIR;
    *buf = xmalloc(st.st_size + 1);
    *size = read_in_full(fd, *buf, st.st_size);
    (*buf)[*size] = '\0';
+   close(fd);
    return (*size == st.st_size ? 0 : errno);
 }
--
1.6.5.2

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]