This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: RFC on enforcing best-practice through wrappers? [PR15819, PR15722]


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]