Lars Schneider <larsxschnei...@gmail.com> wrote:
> > On 27 Jul 2016, at 11:41, Eric Wong <e...@80x24.org> wrote:
> > larsxschnei...@gmail.com 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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to