strncpyは非推奨な関数になっている
https://x.com/fadis_/status/1563191360907509768?s=20
Linuxカーネルのソースからstrlcpyを排除する努力がなされている話。strlcpyはstrncpyをより安全にする目的でBSDで発明された関数で、Linuxカーネルにも同じものが実装されて古くから使われてきたが、近年この関数が文字列操作を安全にするかについて疑問の声があがっていた
Ushering out strlcpy() 【LWN.net】
https://x.com/joho_no_todai/status/2071580410220605649?s=20
Linux 7.2-rc1が出た。
トーバルズ氏の総評は「通常通り」
ただ、このリリースで一番重い変更は新機能ではなく削除だ。
C言語の関数strncpy()がカーネルから完全に消えた。
バッファ末尾にヌル終端を保証しない仕様が、カーネルメモリ漏洩のリスクを抱えていた関数。
6年間、362コミット、70人の開発者。
1つの関数を消すのに、それだけかかっている。
実装自体が消えたことで、今後は使おうとしてもコンパイルが通らない。
非推奨ラベルから、物理的な不可能へ。
6年・362コミットでLinuxカーネルから「バグの温床」strncpyが完全削除 — なぜそれほどかかったのか - TechFeed
#2022年 #2026年
#時事ネタ