buffer-overrun相关内容
这是我的代码: void foo(int num) {int *pArr = (int *)malloc(num * sizeof(int));//为每个区域分配“销售"结构数组for (int i = 0; pArr != NULL && i 表达式 pArr[i] = 1; 给出 C6386 警告 警告 C6386 写入“pArr"时缓冲区溢出:可写大小是 'num*sizeof(
..
在我的代码中,我使用了一个包含 10 个对象的数组 xyz.当我尝试使用如下所示的 unsigned int 索引访问数组元素时:xyz[level],我得到 '缓冲区溢出' 警告.从逻辑上讲,我很确定该级别不会超过 10.如何避免此警告? 解决方案 我可能在这里教我祖母吸鸡蛋,但请记住,对于大小为 10 的数组,“级别不会超过 10"是错误的: char a[10];[10] = '\
..
函数名称:expandStack 输入:指向堆栈类型(Stack *)的指针 输出:无 函数操作:该函数扩展堆栈 void expandStack(Stack * stack){//检查堆栈和数组是否已分配if(堆栈== NULL ||堆栈->内容== NULL){返回;}//分配一个新的大小数组(前一个* 2)Element * ExpandedStack =(Element *)
..
从C#参考中获取stackalloc: 使用stackalloc会自动在公共语言运行时(CLR)中启用缓冲区溢出检测功能.如果检测到缓冲区溢出,则将尽快终止进程,以最大程度地减少执行恶意代码的可能性. 具体来说,.NET实现了哪种保护机制? 它还会检测缓冲区不足吗?针对哪种已知的攻击,防护能力较弱? 对于上下文,例如对于MS C ++编译器,可在此处获取信息: Windows
..
我刚刚发现有一个STATUS_STACK_BUFFER_OVERRUN和一个STATUS_STACK_OVERFLOW。那两个之间有什么区别?我刚刚发现堆栈溢出(堆栈耗尽)与堆栈缓冲区溢出不同,但是它不能解释它,或者我听不懂。您能帮帮我吗? 关于 Tobias 解决方案 考虑以下在内存中向下增长的堆栈: + ------------- --- + |一些数据| |
..
Java是否有缓冲区溢出? 如果是,你可以给我一些场景吗? 解决方案 由于Java Strings基于char数组而Java自动检查数组边界,缓冲区溢出只能在不寻常的情况下使用: 如果您通过JNI调用本机代码 在JVM本身(通常用C ++编写) 解释器或JIT编译器无法正常工作(Java字节码强制边界检查)
..
从人得到: 不要使用gets()函数。因为它是 不可能知道不知道 提前数据多少 字符gets()函数将读取和 因为得到()将继续存储 字符过去的缓冲区的末尾, 这是极其危险的使用。 它已被用于破坏计算机 安全。使用与fgets()代替。 几乎无处不在我看到的 scanf函数中应该有同样的问题(的缓冲区溢出/缓冲区溢出): scanf函数(”%S“,字符串)。在这种情况下
..
如果您是C或C ++的人谁的方案,没有内存管理,类型检查或缓冲区溢出保护,使用指针运算的管理语言的好处,你如何确保你的程序是安全的?您是否使用了大量的单元测试,还是你只是谨慎codeR?你有没有其他的方法? 解决方案 以上所有。我使用的: 谨慎了许多 智能指针尽可能 它已经过测试数据结构,很多标准库 单元测试所有的时间 内存验证工具,如MemValidator和AppVeri
..
我一直要求保持大C ++ codeBase的完整的内存泄漏。虽然闲逛,我发现我们有很多的缓冲区溢出导致的泄漏(如何得到这个坏了,我再也不想知道)。 我已经决定删除缓冲区溢出第一位。为了使我的错误猎容易,有什么工具可以用来检查缓冲区溢出? 解决方案 在Linux上我会用Valgrind的。
..
还能有缓冲区溢出/在完全管理asp.net网站溢出漏洞portal.If是如何加以测试。 解决方案 除非你利用网络服务器或.NET / ASP.NET堆栈本身。
..
目前测试C#建一个C ++库(管理,我相信,我没有写)的顶部(.NET 4.5)WPF应用程序。对于不同的(实际)的原因,它是一台服务器上运行(安装了VS2012,是的,呸)。 该方案挂接到摄像机(经由库)并显示该图像帧它所接收。 有什么奇怪的是,我得到缓冲的超支的(缓冲区溢出我可以理解)。和垃圾收集过程中! 缓冲区溢出发生在APP.EXE已损坏了程序的内部状态。 信息其他各种可能有用的花
..