Sam Huang
Sam Huang

[ https://www.sam-huang.info/ ] 一扁帽,一壺酒,一溪雲,佔得人間一味愚,此心安處是吾鄉

[軟體趣聞一起看] 記憶體的舊資料未清除或者透過某些手法感染是常見的 bug 及攻擊的來源

https://xie.infoq.cn/article/ea23799ca9f71431801003eaf
原文:https://xie.infoq.cn/article/ea23799ca9f71431801003eaf

記憶體的舊資料未清除或者透過某些手法感染是常見的 bug 及攻擊的來源

考量到效能等周邊議題
變數的初始化或者清理並不一定每次都要執行
比如某個變數如果下一刻就會被賦值
那它就未必有必要在一開始時要清理
這在工程上或者編譯器等的設計都可能會這樣

不過真實世界的運作邏輯並不那麼美好
使用方的錯誤使用或者隱性的執行流程常常會組合出差錯
在考慮到一些未定義行為 (undefined behavior)
整件事情就會越來越複雜

因為軟體分層及關注點不同使然
這些事情在寫慣了高階語言的朋友來說會比較無感
但去思考殘留資料及未定義行為仍舊是好的開發習慣

https://pixabay.com/zh/photos/insects-yellow-flower-ladybug-bug-4489864/


CC BY-NC-ND 2.0 版权声明

喜欢我的文章吗?
别忘了给点支持与赞赏,让我知道创作的路上有你陪伴。

加载中…

发布评论