- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我收到以下信息 golintci
信息:
testdrive/utils.go:92:16: G110: Potential DoS vulnerability via decompression bomb (gosec)
if _, err := io.Copy(targetFile, fileReader); err != nil {
^
阅读对应的
CWE我不清楚这将如何得到纠正。
func unzip(archive, target string) error {
reader, err := zip.OpenReader(archive)
if err != nil {
return err
}
for _, file := range reader.File {
path := filepath.Join(target, file.Name) // nolint: gosec
if file.FileInfo().IsDir() {
if err := os.MkdirAll(path, file.Mode()); err != nil {
return err
}
continue
}
fileReader, err := file.Open()
if err != nil {
return err
}
defer fileReader.Close() // nolint: errcheck
targetFile, err := os.OpenFile(path, os.O_WRONLY|os.O_CREATE|os.O_TRUNC, file.Mode())
if err != nil {
return err
}
defer targetFile.Close() // nolint: errcheck
if _, err := io.Copy(targetFile, fileReader); err != nil {
return err
}
}
return nil
}
最佳答案
您收到的警告来自 gosec 中提供的规则.
该规则专门检测 io.Copy
的使用情况关于文件解压。
这是一个潜在的问题,因为 io.Copy
:
copies from
src
todst
until either EOF is reached onsrc
or an error occurs.
io.Copy
的使用情况。或
io.CopyBuffer
连同以下任何一项:
"compress/gzip".NewReader
"compress/zlib".NewReader
或 NewReaderDict
"compress/bzip2".NewReader
"compress/flate".NewReader
或 NewReaderDict
"compress/lzw".NewReader
"archive/tar".NewReader
"archive/zip".NewReader
"*archive/zip".File.Open
io.CopyN
删除警告,因为(引用)它“将 n 个字节(或直到出现错误)从 src 复制到 dst”,从而让您(程序编写者)控制要复制的字节数。所以你可以传递一个任意大的
n
您根据应用程序的可用资源进行设置,或
copy in chunks .
关于go - G110 : Potential DoS vulnerability via decompression bomb (gosec),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67327323/
即使图中没有循环,BGL 的 depth_first_search 算法有时也会对访问者调用 back_edge()。根据后边缘的定义,以及根据 Boost 的 DFS Visitor Documen
所以,我有一个可以从大约四个不同函数调用的例程。我想要做的是遍历可能调用此例程的路线。 我正在使用 Eclipse。我认为这一定是有可能的,因为我知道我可以手动完成此操作,尽管速度很慢。 最佳答案 在
Xcode 的分析器提示存在“对象的潜在泄漏”。以下方法中的第一行被突出显示: - (void)retrieveBeginRestoreData { self.restoreContext =
我目前正在扩展 lavalamp plugin在下拉菜单上工作,但我遇到了一个小问题。我需要知道隐藏元素的 offsetWidth。现在显然这个问题没有意义,而我正在寻找的是元素的 offsetWid
在“窗口”>“首选项”>“常规”>“搜索”下,有“忽略潜在匹配项”选项 它有什么作用?无论我是否激活它,我都看不出有什么区别。 它是一个仅对 Java 开发有意义的选项(我从不这样做,但我确实使用 E
当我运行以下函数时,出现此错误: “错误:潜在的无限循环。” 问题似乎是我在拼接方法中使用的“0”,因为当我将其更改为任何其他数字(1 - 9)时,我不会收到此错误。 我不确定这将如何创建无限循环。
我有一个 Web API 项目。我的端点之一允许进行字符串搜索,其中可能包含特殊字符。 [RoutePrefix("api/Search")] [ValidateInput(false)] // th
嗨, 我运行了 XCode 分析器 - 它告诉我以下两者都是潜在的内存泄漏。我不知道为什么。我像这样声明了 midiDevices @property (assign, nonatomic) NSMu
这个问题已经有答案了: 已关闭11 年前。 Possible Duplicate: A potentially dangerous Request.Form value was detected fr
我需要解决一个编译器发现的错误——我理解为什么它会发现那个错误但需要解决它因为函数(抛出错误)只会在指针是 已初始化。 这是我的伪代码: if (incoming_message_exists) {
在调用 isDataMatchingnamespace 时,我得到了 this 的潜在无效用法如何克服以及如何以正确的方式调用 isDataMatchingnamespace? function Cl
documentation for the Cwd module声明 fast_abs_path是“更危险但可能更快的 abs_path 版本”。它以什么方式危险?什么情况下比较快?行为是否因平台而异
MSVC 对潜在未初始化变量的警告并不是特别好,特别是它错误地声称 i 可以在此程序中未初始化: #include enum class Color{ Red, Green }; in
我的实体 Item 有一个存储库 (ItemRepository),函数为 findItemCount()。当我使用 $repository = $em->getRepository(Item::cl
我的实体 Item 有一个存储库 (ItemRepository),函数为 findItemCount()。当我使用 $repository = $em->getRepository(Item::cl
我的 Eclipse 发出以下警告: Potential resource leak: '' may not be closed ...对于表达式 new BufferedWriter(...)在下面
您认为解决以下问题时的最佳实践是: MyClass myVariable = null; if ( ..condition 1.. ) { myVariable = new MyClass(1);
创建 Funds 时或 Assets表,我经常遇到同样的问题:不是全部Assets具有相同的标识符。 例如:70% 有 ISIN ,有些有彭博代码,有些两者都有,有些只有 AccountingID来自
我遇到了错误 A potentially dangerous Request.Form value was detected from the client 当我部署我的应用程序时(当我通过本地主机运
使用 this 中的一些指导在关于理解决策树结构的 scikit-learn 教程中,我的想法是,也许查看两个连接节点之间发生的特征组合可能会提供一些关于潜在“交互”术语的见解。也就是说,通过查看给定
我是一名优秀的程序员,十分优秀!