大家好,我是站长 polarisxu。
今早,Go 官方发布了 Go1.21.4 和 Go1.20.11,这是两个小版本,主要是 2 个安全更新,涉及 path/filepath 库。
1、path/filepath:识别 \??\
作为本地设备根路径前缀。
在 Windows 上,以 \??\
开头的本地设备根路径,等效于到以 \?
开头的路径。带有 \??\
前缀的路径可用于访问系统上的任意位置。例如,路径 \??\c:\x
等效于更常见的路径 c:\x
。
filepath 包没有将带有 \??\
前缀的路径识别为特殊路径。
Clean 可以将 \a\…??\b 等根路径转换为本地设备路径根 ??\b。它现在将转换这个
路径为 .\??\b
。
IsAbs 没有将以 ??\ 开头的路径报告为绝对路径,现在是了。
VolumeName 现在将 ??\ 前缀识别为卷名。
Join('\','??','b')
可以转换一个看似不正确的路径元素序列转为本地设备路径\??\b
。它现在会将其转换为 .\??\b
。
issue 地址:https://go.dev/issue/63713。
2、path/filepath:识别带有尾随空格和上标的设备名称
在某些情况下,IsLocal 函数无法正确检测保留名称:
IsLocal 现在正确地将这些名称识别为非本地名称。
issue 地址:https://go.dev/issue/63713
Go 语言中文网为你准备了最新包,下载地址:https://studygolang.com/dl。
你也可以通过官方的方式试用:
推荐阅读