Repository navigation
Commit 3160e52
committed
address review: clamp seconds before multiplying, preserve negatives
Per @lbellows / @eternal-flame-AD feedback:
- Clamp the requested seconds to [-maxElevationSeconds, maxElevationSeconds]
BEFORE multiplying, so an int64 multiply can never overflow (including wraps
that land positive, e.g. 20023544073) and large negatives (e.g. -9223372037).
- Preserve negative values instead of mapping them to DefaultElevationDuration,
so the UI's cancel (durationSeconds: -1) still sets elevatedUntil in the past
rather than granting a fresh hour.
- Keep it simple: a small guard inside the function, no extra ceremony.
Tests updated: cancel -1 preserved, zero stays zero, overflow-positive and
large-negative both clamped.1 parent 41a18ec commit 3160e52
2 files changed
Lines changed: 25 additions & 29 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
15 | 15 | | |
16 | 16 | | |
17 | 17 | | |
18 | | - | |
19 | | - | |
20 | | - | |
21 | | - | |
22 | | - | |
23 | | - | |
24 | | - | |
25 | | - | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
26 | 24 | | |
27 | 25 | | |
28 | | - | |
29 | | - | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
30 | 30 | | |
31 | | - | |
32 | | - | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
33 | 35 | | |
34 | | - | |
35 | | - | |
36 | | - | |
37 | | - | |
38 | | - | |
39 | | - | |
40 | | - | |
| 36 | + | |
41 | 37 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
12 | 12 | | |
13 | 13 | | |
14 | 14 | | |
15 | | - | |
16 | | - | |
17 | | - | |
18 | | - | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
19 | 24 | | |
20 | 25 | | |
21 | 26 | | |
22 | | - | |
23 | | - | |
| 27 | + | |
24 | 28 | | |
25 | 29 | | |
26 | | - | |
27 | | - | |
28 | | - | |
29 | | - | |
30 | 30 | | |
31 | 31 | | |
32 | 32 | | |
0 commit comments