mutou 发表于 2018-6-30 06:26:05

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

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

mutou 发表于 2018-6-30 21:10:14

已解决:

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

testid 发表于 2018-7-4 20:37:08

纯路过. 不知LZ所云何物.
页: [1]
查看完整版本: 【求教】申请内存后如果指针为NULL了该怎么释放内存呢?