about summary refs log tree commit diff
diff options
context:
space:
mode:
authorRys Sommefeldt <rys@pixeltards.com>2009-11-07 15:24:45 +0100
committerLars Hjemli <hjemli@gmail.com>2009-11-07 15:34:18 +0100
commit8cfe4897f01066ae901bdd6ef106faf8e8f2ddf2 (patch)
tree2b66d688de6ce2b7598cc78ea6ed812f2d5f882a
parentNov is the correct abbreviation (diff)
downloadcgit-pink-8cfe4897f01066ae901bdd6ef106faf8e8f2ddf2.tar.gz
cgit-pink-8cfe4897f01066ae901bdd6ef106faf8e8f2ddf2.zip
Close fd on error in readfile()
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
Diffstat (limited to '')
-rw-r--r--shared.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/shared.c b/shared.c
index d7b2d5a..a27ab30 100644
--- a/shared.c
+++ b/shared.c
@@ -406,12 +406,17 @@ 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))
+	}
+	if (!S_ISREG(st.st_mode)) {
+		close(fd);
 		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);
 }
>June McEnroe 2021-05-25import: Add missing scripts/wrap-compiler-for-flag-checkJune McEnroe 2021-05-08Import LibreSSL 3.3.3June McEnroe 2021-04-18build: Remove added x509_verify.3 links 3.3.2June McEnroe 2021-04-18tls: Use EC_KEY_set_ex_dataJune McEnroe 2021-04-18Import LibreSSL 3.3.2June McEnroe 2021-03-05Bump version to 3.3.1p1 3.3.1p1June McEnroe 2021-03-05build: Add OpenSSL includes to libcompatJune McEnroe 2020-12-15Import LibreSSL 3.3.1June McEnroe 2020-11-24Import LibreSSL 3.3.0June McEnroe 2020-10-22Import LibreSSL 3.2.2June McEnroe 2020-09-29Import LibreSSL 3.2.1June McEnroe 2020-09-29import: Add m4/ax_add_fortify_source.m4June McEnroe 2020-08-05build: Add README.7 to EXTRA_DIST 3.2.0June McEnroe 2020-08-03doc: Indicate that only OpenSSL 1.1.1b and newer workJune McEnroee='2019-11-06 22:37:57 -0500'>2019-11-06Document SASL EXTERNAL configuration in more detailJune McEnroe 2019-11-06Document pounce service configurationJune McEnroe 2019-11-06Mention Darwin and GNU/Linux in READMEJune McEnroe 2019-11-06Assume LibreSSL from brew on DarwinJune McEnroe 2019-11-06Remove -DNO_EXPLICIT_BZERO from Darwin.mkJune McEnroe 2019-11-06Don't install rc scripts or dirs on LinuxJune McEnroe