本论坛为只读模式,仅供查阅,不能注册新用户,不能发帖/回帖,有问题可发邮件 xikug.xp (^) gmail.com
查看: 2935|回复: 5

allocate free 同一个地址出现问题 [复制链接]

Rank: 2

发表于 2010-4-16 16:04:55 |显示全部楼层
allocate address: 81B08D98
free        address: 81B08D98

KeBugCheck

BAD_POOL_HEADER (19)
The pool is already corrupt at the time of the current request.
This may or may not be due to the caller.
The internal pool links must be walked to figure out a possible cause of
the problem, and then special pool applied to the suspect tags or the driver
verifier to a suspect driver.
Arguments:
Arg1: 00000020, a pool block header size is corrupt.
Arg2: 81b08d90, The pool entry we were looking for within the page.
Arg3: 81b08df8, The next pool entry.
Arg4: 0a0d0001, (reserved)

allocate address: 81B08D98<-申请的地址
free       address: 81B08D98<-释放的地址

Arg2: 81b08d90, The pool entry we were looking for within the page.

明明申请和释放都是同一个地址,怎么会跑出个81b08d90
谁遇到过相同的情况不嘛?

Rank: 1

发表于 2010-4-16 16:52:04 |显示全部楼层
根据提示,使用池内存的过程中出现了池溢出,破坏了某个池的头结构。
free的时候被检测到了。

Rank: 2

发表于 2010-4-16 23:01:29 |显示全部楼层
引用第1楼KiSSinGGer于2010-04-16 13:52发表的  :
根据提示,使用池内存的过程中出现了池溢出,破坏了某个池的头结构。
free的时候被检测到了。
嗯。提示是看出来了,可是不晓得在什么情况下会破坏呢?
我当时的情景是,动态分配内存做链表,然后用完了释放。
测试的链表申请释放没得问题,可是对于某个字符串值,释放的时候就会出现问题。

Rank: 9Rank: 9Rank: 9

发表于 2010-4-17 17:19:18 |显示全部楼层
溢出了。。。
悟空,退下,为师一个人就够了

Rank: 2

发表于 2010-4-21 02:16:54 |显示全部楼层
嗯,我现在的解决办法是使用ExInitializeNPagedLookasideList
测试没出现问题。
MARK一下。

Rank: 2

发表于 2010-4-21 19:48:26 |显示全部楼层
其实是RtlCopyMemory把长度写长了
您需要登录后才可以回帖 登录 | 立即加入

Archiver|手机版|第8个男人 - 论坛为只读模式,仅供查阅

GMT+8, 2019-6-20 16:25 , Processed in 0.023759 second(s), 8 queries .

Design by pvo.cn

© 2011 Pvo Inc.

回顶部