[sync] semaphore: panic on negative weights

0 views
Skip to first unread message

Gopher Robot (Gerrit)

unread,
Jul 1, 2026, 1:29:38 PM (3 days ago) Jul 1
to Zain Yousef, Gerrit Bot, goph...@pubsubhelper.golang.org, golang-...@googlegroups.com, Damien Neil, golang...@luci-project-accounts.iam.gserviceaccount.com, Alan Donovan, golang-co...@googlegroups.com

Gopher Robot submitted the change

Change information

Commit message:
semaphore: panic on negative weights

The semaphore.Weighted API accepts int64 for weights. If a negative
weight is passed, it mathematically corrupts the internal state tracker
(s.cur) and bypasses the package's existing safety checks.

This adds strict boundary validation to panic immediately if a negative
weight is provided.

Fixes golang/go#80183
Change-Id: I7e74bad404a8b99aef7e3d2189dda43f8ea644c2
GitHub-Last-Rev: ee6289c356f4626ebca52dbe86d856cc713d7be0
GitHub-Pull-Request: golang/sync#31
Reviewed-by: Damien Neil <dn...@google.com>
Reviewed-by: Zain Yousef <zain...@gmail.com>
Reviewed-by: Alan Donovan <adon...@google.com>
Auto-Submit: Alan Donovan <adon...@google.com>
Files:
  • M semaphore/semaphore.go
  • M semaphore/semaphore_test.go
Change size: M
Delta: 2 files changed, 47 insertions(+), 4 deletions(-)
Branch: refs/heads/master
Submit Requirements:
Open in Gerrit
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: merged
Gerrit-Project: sync
Gerrit-Branch: master
Gerrit-Change-Id: I7e74bad404a8b99aef7e3d2189dda43f8ea644c2
Gerrit-Change-Number: 796080
Gerrit-PatchSet: 4
Gerrit-Owner: Gerrit Bot <letsus...@gmail.com>
Gerrit-Reviewer: Alan Donovan <adon...@google.com>
Gerrit-Reviewer: Damien Neil <dn...@google.com>
Gerrit-Reviewer: Gopher Robot <go...@golang.org>
Gerrit-Reviewer: Zain Yousef <zain...@gmail.com>
open
diffy
satisfied_requirement
Reply all
Reply to author
Forward
0 new messages