c语言安全性测试,使用C语言编程的安全性分析.PDF

使用C语言编程的安全性分析

\\、 竺竺

使用C语言编程的安全性分析

毛丽娜

(华东交通大学,南昌330013)

摘要:为了避免C语言编程中出错,保障程序的安全性,从内存泄漏、指针有效性、数组超界几方

面进行深入分析。找出造成程序运行时产生不安全问题的原因,给出解决方案。

关键词:内存泄露;指针有效性;数组超界

1 内存泄露 内存泄露。如果多次调用gm()函数则会导致大量的内

存被占用而得不到释放.造成内存占用率突然增加.这

一般我们常说的内存泄漏是指堆内存的泄漏。堆

是一种常见的发生内存泄漏的情形。

内存是指程序从堆中分配的大小任意的f内存块的大

显然防止这种内存泄露情况发生的办法就是使用

小可以在程序运行期决定)。使用完后必须释放的内

存。应用程序一般用malloc,realloc,flew等函数从堆中

函数释放内存。

分配到一块内存.内存块使用完后.程序必须负责相应

的调用舶e或delete释放该内存块,否则,这块内存就2 指针的有效性

不能被再次使用.我们就说这块内存泄漏了。

请看以下这段程序:

有这样一个程序: #include”stdio.h”

#include”stdlib.h”

char

49erm(void、

void

gm(char++p,intn)

{

{+p=(char*)malloc(n); char world”;

P【】=”hello

l

retum

p;

main()

}

{char+s=NULL

main0

gm(&s,80);

I

Beijing”);

strcpy(s,”China char+str=NULL;

prinff(s);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值