On Thu, Jan 22, 2015 at 05:54:10AM -0800, Anshul Garg wrote:> - if ((long long)(-tmp) >= 0)> - return -ERANGE;> - *res = -tmp;...> + if ((long long)tmp < 0)> + return -ERANGE;> + *res = sign * tmp;I don't believe overflow handling is correct anymore with this patch.Did you try with the input as the most negative possible unsigned long?Jeff