Hi Junio, On Wed, 8 Oct 2014, Junio C Hamano wrote: > Marat Radchenko <marat@xxxxxxxxxxxxxxxx> writes: > > > #define DEFAULT_PACKED_GIT_LIMIT \ > > - ((1024L * 1024L) * (sizeof(void*) >= 8 ? 8192 : 256)) > > + ((size_t)(1024L * 1024L) * (sizeof(void*) >= 8 ? 8192 : 256)) > > 1024 * 1024 * 8192 overflows 32-bit unsigned, but is size_t always > large enough? Just checking. The diff is a bit misleading as to what it *actually* changes. It *just* casts the result to size_t. The arithmetic is performed with longs (thanks to the "l" in 1024l) and it only overflows 32 bit iff the sizeof() test verifies that we're at least on 64 bit -- this arithmetic operation is the same as before the patch. I was fooled by the diff myself (adding another parenthesis just to add the cast would probably have helped, though). IMHO this is a good demonstration how a commit message that goes slightly beyond the necessary can help tons of time by avoiding to let every reviewer/reader go through the exact same steps of puzzlement. Ciao, Dscho -- 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