Lars Schneider <larsxschneider@xxxxxxxxx> wrote: > > On 27 Jul 2016, at 11:41, Eric Wong <e@xxxxxxxxx> wrote: > > larsxschneider@xxxxxxxxx wrote: > >> +static int apply_protocol_filter(const char *path, const char *src, size_t len, > >> + int fd, struct strbuf *dst, const char *cmd, > >> + const char *filter_type) > >> +{ > > > > <snip> > > > >> + if (fd >= 0 && !src) { > >> + ret &= fstat(fd, &file_stat) != -1; > >> + len = file_stat.st_size; > > > > Same truncation bug I noticed earlier; what I originally meant > > is the `len' arg probably ought to be off_t, here, not size_t. > > 32-bit x86 Linux systems have 32-bit size_t (unsigned), but > > large file support means off_t is 64-bits (signed). > > OK. Would it be OK to keep size_t for this patch series? I think there should at least be a truncation warning (or die) for larger-than-4GB files on 32-bit. I don't know how common they are for git-lfs users. Perhaps using xsize_t in git-compat-util.h works for now: len = xsize_t(file_stat.st_size); (sorry, I haven't had much time to look at your other updates) -- 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