找回密码
 加入我们

QQ登录

只需一步,快速开始

搜索
查看: 3776|回复: 2

【求教】申请内存后如果指针为NULL了该怎么释放内存呢?

[复制链接]

4

主题

38

回帖

0

精华

铜牌会员

积分
249
发表于 2018-6-30 06:26:05 | 显示全部楼层 |阅读模式
我的驱动在开始时使用ExAllocatePool为char *P申请了一片PagedPool内存空间,但由于在之后的过程中,因为不断的对P进行操作,P发生了变化,直至变成NULL。这时如果调用ExFreePool(P)来释放内存空间的话,就会因为P为NULL而发生蓝屏,那么此时我应该如何才能释放之前为P申请的那片内存空间呢?如果只申请了而不释放的话容易造成内存泄漏吧?
麻烦知道的大神解答下,谢谢。

4

主题

38

回帖

0

精华

铜牌会员

积分
249
 楼主| 发表于 2018-6-30 21:10:14 | 显示全部楼层
已解决:

char *p= ExAllocatePool(PagedPool, 1024);
void* const pp=p;
....
....
if(pp)
        ExFreePool(pp);

12

主题

144

回帖

0

精华

铜牌会员

积分
281
发表于 2018-7-4 20:37:08 | 显示全部楼层
纯路过. 不知LZ所云何物.
您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

快速回复 返回顶部 返回列表