函数安全

来源:互联网 发布:java 项目开发 图 编辑:程序博客网 时间:2024/06/04 20:07

对于一个函数是否安全的思考角度,有以下几个方向:

1、函数是否进行内存的非法访问?

     申请的内存是否释放,否则造成内存泄漏?

     是否存在野指针,悬浮指针的情况?


2、函数返回值的安全:

     禁止返回局部变量的地址或者引用,因为在函数调用堆栈的时候栈帧的回退过程中,虽然值还存在,但是该部分内存已经不在具有安全性,随时有可能被覆盖,这时很容易出现错误。


3、函数的线程安全:

      是否可重入?是否带有线程共享的资源:全局变量、静态变量,堆内存。

      多线程访问的情况下是否是安全的

原创粉丝点击