Linux 7.2 内核完全移除 strncpy 函数
在 6 年 362 个补丁之后,Linux 7.2 内核终于完全移除了 strncpy() 函数。strncpy() 是一个 C 语言字符串复制函数,内核文档将其标记为“极度危险(acti 2026-6-22 10:55:5 Author: www.solidot.org(查看原文) 阅读量:4 收藏

在 6 年 362 个补丁之后,Linux 7.2 内核终于完全移除了 strncpy() 函数。strncpy() 是一个 C 语言字符串复制函数,内核文档将其标记为“极度危险(actively dangerous)”。strncpy()是一类内存错误的主要来源:包含敏感数据的内核缓冲区可能会在未终止字符串边界外泄漏字节,导致内存信息泄露。strncpy()被 5 个不同函数取代:strscpy() 用于 NUL 结尾的目的地址,strscpy_pad() 用于 NUL 结尾零填充的目标地址, strtomem_pad() 用于非 NUL 结尾固定宽度字段,memcpy_and_pad() 用于显式填充的有边界复制,memcpy()用于已知长度的内存复制。

https://linux.slashdot.org/story/26/06/21/1810200/after-six-years-of-work-and-over-360-patches-linux-72-finally-removes-bug-prone-strncpy


文章来源: https://www.solidot.org/story?sid=84644
如有侵权请联系:admin#unsafe.sh