Re: [PATCH] sha1_file: don't convert off_t to size_t too early to avoid potential die()
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Sep 22, 2014, 17:49 UTC
- Message-ID
- <xmqqfvfjlf4k.fsf@gitster.dls.corp.google.com>
- In-Reply-To
- <1411293806-3087-1-git-send-email-prohaska@zib.de>
Steffen Prohaska <prohaska@zib.de> writes:
Show 16 quoted lines
> xsize_t() checks if an off_t argument can be safely converted to > a size_t return value. If the check is executed too early, it could > fail for large files on 32-bit architectures even if the size_t code > path is not taken. Other paths might be able to handle the large file. > Specifically, index_stream_convert_blob() is able to handle a large file > if a filter is configured that returns a small result. > > Signed-off-by: Steffen Prohaska <prohaska@zib.de> > --- > > This patch should be applied on top of sp/stream-clean-filter. > > index_stream() might internally also be able to handle large files to > some extent. But it uses size_t for its third argument, and we must > already die() when calling it. It might be a good idea to convert its > interface to use off_t and push the size checks further down the stack.
Yes, if we want to futz in this area, I think that would be the right approach.