From: Michael Haggerty Date: Fri, 3 Jul 2015 13:59:32 +0000 (+0200) Subject: strbuf: strbuf_read_file() should return ssize_t X-Git-Tag: v2.5.0-rc2~5^2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=6c8afe495b2cb6e2069942d7c006f6660e186690;p=thirdparty%2Fgit.git strbuf: strbuf_read_file() should return ssize_t It is currently declared to return int, which could overflow for large files. Signed-off-by: Michael Haggerty Signed-off-by: Junio C Hamano --- diff --git a/strbuf.c b/strbuf.c index 88cafd4a70..b4da9f5d05 100644 --- a/strbuf.c +++ b/strbuf.c @@ -481,9 +481,10 @@ int strbuf_getwholeline_fd(struct strbuf *sb, int fd, int term) return 0; } -int strbuf_read_file(struct strbuf *sb, const char *path, size_t hint) +ssize_t strbuf_read_file(struct strbuf *sb, const char *path, size_t hint) { - int fd, len; + int fd; + ssize_t len; fd = open(path, O_RDONLY); if (fd < 0) diff --git a/strbuf.h b/strbuf.h index 1883494ca3..1ea9d0bdeb 100644 --- a/strbuf.h +++ b/strbuf.h @@ -364,7 +364,7 @@ extern ssize_t strbuf_read(struct strbuf *, int fd, size_t hint); * Read the contents of a file, specified by its path. The third argument * can be used to give a hint about the file size, to avoid reallocs. */ -extern int strbuf_read_file(struct strbuf *sb, const char *path, size_t hint); +extern ssize_t strbuf_read_file(struct strbuf *sb, const char *path, size_t hint); /** * Read the target of a symbolic link, specified by its path. The third