Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: golang/time
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v0.9.0
Choose a base ref
...
head repository: golang/time
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v0.10.0
Choose a head ref
  • 1 commit
  • 2 files changed
  • 1 contributor

Commits on Jan 8, 2025

  1. rate: prevent overflows when calculating durationFromTokens

    Currently, there is a conversion from float64 to int64 when returning the duration needed to accumulate the required number of tokens.
    When limiters are set with low limits, i.e. 1e-10, the duration needed is greater than math.MaxInt64.
    As per the language specifications, in these scenarios the outcome is implementation determined.
    This results in overflows on `amd64`, resulting in no wait, effectively jamming the limiter open.
    
    Here we add a check for this scenario, returning InfDuration if the desired duration is greater than math.MaxInt64.
    
    Fixes golang/go#71154
    
    Change-Id: I775aab80fcc8563a59aa399844a64ef70b9eb76a
    Reviewed-on: https://go-review.googlesource.com/c/time/+/641336
    Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
    Auto-Submit: Ian Lance Taylor <iant@google.com>
    LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
    Reviewed-by: Ian Lance Taylor <iant@google.com>
    tomcoupland authored and gopherbot committed Jan 8, 2025
    Configuration menu
    Copy the full SHA
    2c6c5a2 View commit details
    Browse the repository at this point in the history
Loading