如何解决如何解决Checkmarx的问题Unmanaged_Memory_Allocation
Checkmarx对于下面的代码行,报告问题Un受控的内存分配。
ObjectNode values = objectMapper.readValue(request.getInputStream(),ObjectNode.class);
正在调用给定请求的用户在系统中得到授权。我无法决定系统应允许的合理流大小。有时甚至可能是60 MB,但我无法预测是否有人要上传80MB的文件。 我知道我可以尝试捕获OutOfMemoryError,但这通常是非常不好的做法。
处理此问题的正确方法是什么?
解决方法
如果您的代码允许分配任意数量的内存,则Checkmarx标记的结果是正确的。 如果文件仅来自受信任的来源/用户,则问题不是很严重,但仍应解决。
很明显,您无法准确预测可以上载的文件的最大大小,但是没有验证和限制最大大小不是一个好习惯。 尝试估计什么大小仍然适合用户上传,并使用10倍大小限制作为将来的证明。确保测试您的系统,并查看上传如此大文件是否有不利影响。
祝你好运!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。