Fangliding 提醒 Xray 32 位平台上的 int 转换溢出风险

Fangliding 在 Xray-core PR #7155 的讨论中提醒,32 位平台上的 int 为 int32,上限约 21 亿,应留意 time.Duration 和时间戳转为 int 后处理的场景;他分别提到约两秒溢出及 2038 问题,并链接平均 RTT 溢出的 PR #7148。PR #7155 随后于 10 月 16 日 05:12 UTC 合并,补丁使平均 RTT 在 time.Duration 内完成除法,并调整其他可能缩窄到 int 的转换;关联 #7148 本身关闭且未合并。

作者原文

https://github.com/XTLS/Xray-core/pull/7148

总之就是32位平台上 int 会是 int32 上限是 21 亿 一般情况下遇不到 但是要小心手残把 time.Duration 和时间戳转化并处理的场景 前者在二点几秒溢出后者是经典的2038