• Max Kellermann's avatar
    protocol/ArgParser: fix integer overflow in parse_range() · 421c4ae9
    Max Kellermann authored
    Casting std::numeric_limits<unsigned>::max() to "long" leads to an
    overflow if sizeof(unsigned)==sizeof(long), and the result will be -1.
    
    This happens on some 32 bit architectures, for example ARM and WIN32.
    
    Workaround: use std::numeric_limits<int>::max(), which is the largest
    signed integer.  Since sizeof(long)>=sizeof(int), this will never
    overflow.
    
    Fixes Mantis ticket 0004080.
    421c4ae9
To find the state of this project's repository at the time of any of these versions, check out the tags.
NEWS 46.1 KB