On Tue, Jul 27, 2021 at 2:59 AM <[email protected]> wrote:
>
> From: Chris Johns <[email protected]>
>
> Update #4475
This change could probably use its own ticket.
> ---
> rtemsbsd/rtems/rtems-kernel-timesupport.c | 8 +++++++-
> 1 file changed, 7 insertions(+), 1 deletion(-)
>
> diff --git a/rtemsbsd/rtems/rtems-kernel-timesupport.c
> b/rtemsbsd/rtems/rtems-kernel-timesupport.c
> index ef14d1fa..5d290d66 100644
> --- a/rtemsbsd/rtems/rtems-kernel-timesupport.c
> +++ b/rtemsbsd/rtems/rtems-kernel-timesupport.c
> @@ -35,6 +35,7 @@
>
> #include <machine/rtems-bsd-kernel-space.h>
>
> +#include <limits.h>
> #include <sys/time.h>
>
> #include <rtems/score/timespec.h>
> @@ -46,9 +47,14 @@ int
> tvtohz(struct timeval *tv)
> {
> struct timespec ts;
> + uint32_t ticks;
>
> ts.tv_sec = tv->tv_sec;
> ts.tv_nsec = tv->tv_usec * 1000;
>
> - return (int) _Timespec_To_ticks( &ts );
> + ticks = _Timespec_To_ticks( &ts );
> + if (ticks > INT_MAX)
> + ticks = INT_MAX;
> +
This changes the behavior to saturating in the overflow case, which is
at least well-defined, but is it the best thing to do? (I have no
idea.)
> + return ticks;
> }
> --
> 2.24.1
>
> _______________________________________________
> devel mailing list
> [email protected]
> http://lists.rtems.org/mailman/listinfo/devel
_______________________________________________
devel mailing list
[email protected]
http://lists.rtems.org/mailman/listinfo/devel