linux - 在 Linux 中测试内存是否可访问

标签 linux memory

给定一个不受信任的内存地址,Linux 中是否有一种方法可以测试它是否指向有效的、可访问的内存?

例如,在 mach 中,您可以使用 vm_read_overwrite() 尝试从指定位置复制数据。如果地址无效或不可访问,它将返回错误代码而不是使进程崩溃。

最佳答案

write 从该内存(到 /dev/null,例如(编辑:使用 /dev/null 它可能无法正常工作预期,使用管道)),如果地址不可访问,您将收到 EFAULT 错误。

如果 可写,我不知道如何在不破坏其内容的情况下测试可写 内存。

关于linux - 在 Linux 中测试内存是否可访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14507524/

相关文章:

c - 以下声明的大小是多少?

C 奇怪有趣的程序输出

linux - 在 Linux 中注册一个声卡驱动

linux - 如何从外部网络连接到 PyDev 调试器?

mysql - 连接到 AWS Elastic Beanstalk 上的 Mysql

memory - Redis 需要多少空闲内存才能运行?

objective-c - 在 Swift 中删除 NSData 内容

java - 是否有适用于 Java 的开源堆外缓存解决方案?

linux - cassandra如何能够通过硬链接(hard link)执行快照?

python - 一分钟内创建了多少进程?