[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] globsort: handle int overflow in cmp functions
From: |
Chet Ramey |
Subject: |
Re: [PATCH] globsort: handle int overflow in cmp functions |
Date: |
Fri, 17 May 2024 15:06:01 -0400 |
User-agent: |
Mozilla Thunderbird |
On 5/17/24 12:57 PM, Grisha Levit wrote:
The current cmp implementation for size and blocks subtracts the two
values and returns the difference as an int. This subtraction can
overflow, and the returned int can end up having the wrong sign.
This also makes the qsort comparison function non-transitive. (Some
interesting discussion on that at [1]).
Thanks for the report. If overflow is a concern, then a guaranteed
transitive comparison function is the right thing. Your solution is clever,
but a little obscure; I think I'll make it look more like the other
comparison functions.
Chet
--
``The lyf so short, the craft so long to lerne.'' - Chaucer
``Ars longa, vita brevis'' - Hippocrates
Chet Ramey, UTech, CWRU chet@case.edu http://tiswww.cwru.edu/~chet/
OpenPGP_signature.asc
Description: OpenPGP digital signature
Re: [PATCH] globsort: handle int overflow in cmp functions, Andreas Schwab, 2024/05/20