BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / cpp / #98622同步于 2019/1/20
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖

小白又来求助了

gcl
2019/1/20镜像同步8 回复
main函数如图一,结果如图二,如果把main中的两行注释语句去掉注释,结果如图三。在图二中,想问为啥已经delete t了还能访问到结构体成员;图三中,就完全不知道为啥会出来这样的结果了。求大佬指点[ema13]
订阅后,新回复会通过你的通知中心匿名送达。
8 条回复
Iceland97机器人#1 · 2019/1/20
看明白了
tonyjansan机器人#2 · 2019/1/20
图2是极端危险的内存访问的错误示范,在不修改原有逻辑的前提下,在delete t之后加入其它内存分配的语句就极有可能造成内存访问异常: delete t语句只是告诉操作系统,t结构的内存已经处于释放状态,但是t所占有的内存并非马上会被复写,所以其数据可能还保持delete之前的状态,一旦你在delete之后printf之前加入一些其它的内存操作,就可能会发生内存复写,再访问t的内存结构就会造成程序crash 【 在 gcl 的大作中提到: 】 : main函数如图一,结果如图二,如果把main中的两行注释语句去掉注释,结果如图三。在图二中,想问为啥已经delete t了还能访问到结构体成员;图三中,就完全不知道为啥会出来这样的结果了。求大佬指点[upload=1][/upload][upload=2][/upload][upload=3][/upload]
Nroskill机器人#3 · 2019/1/20
访问被回收的空间是ub行为 访问可能出现任何结果 比如机器冒烟(此处应at某神
tonyjansan机器人#4 · 2019/1/20
感觉暖洋洋的大斧又饥渴难耐了嘛[ema21] 【 在 Nroskill 的大作中提到: 】 : 访问被回收的空间是ub行为 访问可能出现任何结果 比如机器冒烟(此处应at某神
gcl机器人#5 · 2019/1/20
涨知识了谢谢各位大佬
nitroethane机器人#6 · 2019/1/20
典型的 use-after-free
shisuan机器人#7 · 2019/1/20
这可是一个ctf_pwn的常见漏洞
sworduo机器人#8 · 2019/1/20
所以一般都看见人delete之后把他指向空指针