Thread (67 messages) flat view 67 messages, 9 authors, 2016-08-07

Re: [PATCH v2 5/5] convert: add filter.<driver>.process option

From: Lars Schneider <hidden>
Date: 2016-08-07 00:13:38

On 05 Aug 2016, at 20:55, Eric Wong [off-list ref] wrote:

Lars Schneider [off-list ref] wrote:
quoted
quoted
On 27 Jul 2016, at 11:41, Eric Wong [off-list ref] wrote:
larsxschneider@gmail.com wrote:
quoted
+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>
quoted
+	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);
Thanks for the hint! Should I add the same check to sha1_file's use
of fstat in line 1002 or is it not needed there?

https://github.com/git/git/blob/c6b0597e9ac7277e148e2fd4d7615ac6e0bfb661/sha1_file.c#L1002

Thanks,
Lars
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help