RFC on enforcing best-practice through wrappers? [PR15819, PR15722]
Joseph Myers
joseph@codesourcery.com
Wed Nov 5 16:45:00 GMT 2014
On Wed, 5 Nov 2014, Alexandre Oliva wrote:
> + struct timeval __now;
> + (void) __gettimeofday (&__now, NULL);
> +
> + long int __end = __now.tv_sec * 1000 + __timeout
> + + (__now.tv_usec + 500) / 1000;
This multiplication by 1000 will overflow on 32-bit systems. Things may
in fact work OK if it wraps around, but it's not a good idea to rely on
that without explicit casts to unsigned and comments about why it's OK
even when things wrap around. (Pre-existing condition in the code you're
moving.)
--
Joseph S. Myers
joseph@codesourcery.com
More information about the Libc-alpha
mailing list