码迷,mamicode.com
首页 >  
搜索关键字:栈溢出    ( 583个结果
二叉树的三种输出方式:递归、栈、循环
三种方法中,递归最为简单,栈次之,循环最为麻烦。递归的深度如果太大则会导致栈溢出;栈的方式需要额外的辅助空间;循环编程最麻烦。           首先是递归: //递归方法 void midPrint_r(TreeNode* root) {//中序遍历 if(root==NULL) return; if(root->left) midPrint(root->left); c...
分类:其他好文   时间:2015-06-21 10:39:45    阅读次数:109
泛函编程(30)-泛函IO:Free Monad-Monad生产线
在上节我们介绍了Trampoline。它主要是为了解决堆栈溢出(StackOverflow)错误而设计的。Trampoline类型是一种数据结构,它的设计思路是以heap换stack:对应传统递归算法运行时在堆栈上寄存程序状态,用Trampoline进行递归算法时程序状态是保存在Trampoli.....
分类:其他好文   时间:2015-06-18 19:17:56    阅读次数:135
应用程序发生异常 unknown software exception (0xc00000fd)... - 栈溢出(Stack overflow)
今天在写程序的时候,弹出这样的提示对话框:应用程序发生异常 unknown software exception (0xc00000fd):相关代码是这样,在一个函数中读取一个csv文件,先根据这个csv文件的大小,直接初始化一个变量,然后一次把整个文件读取并赋值给这个变量。一开始测试时使用的一般都...
分类:其他好文   时间:2015-06-18 10:59:22    阅读次数:92
CSAPP LAB: Buffer Overflow
这是CSAPP官网上的著名实验,通过注入汇编代码实现堆栈溢出攻击。实验材料可到我的github仓库 https://github.com/Cheukyin/CSAPP-LAB/ 选择buffer-overflow分支下载 linux默认开启ASLR,每次加载程序,变量地址都会不一样,所以若要关...
分类:移动开发   时间:2015-06-12 20:37:41    阅读次数:219
栈溢出防御——windows安全机制GS编译选项
面对这个栈溢出这个重灾区,Windows在VS 7.0(Visual Studio 2003)及以后版本的Visual Studio中默认启动了一个安全编译选项——GS(针对缓冲区溢出时覆盖函数返回地址这一特征),来增加栈溢出的难度。(GS Break----配置属性----c/c++----代码生...
分类:Windows程序   时间:2015-06-04 11:33:28    阅读次数:588
我们打赌:这个注解很快就会出现在JDK里面
最近由雅和提出的堆栈溢出问题引起了我兴趣:怎么确保Java 8 编译时,一个方法签名实现了函数式接口。这个是一个好问题。我们假设下面的定义:@FunctionalInterface interface LongHasher { int hash(long x); }这个类型强加了一个清晰的约定。实现类必须提供一个单独的hash方法 ,传一个长整型参数,返回一个整型值。当使用lambdas或方...
分类:其他好文   时间:2015-06-03 15:49:09    阅读次数:118
___security_cookie机制,防止栈溢出
从研究底层和汇编以来,已经多次接触到“栈溢出”这个名词了。这次在汇编码中看到了个不明就里的 ___security_cookie ,查了下,原来是编译器的安全检查机制。转载一篇文章:首先,security cookie并不是windows系统自带的保护机制,并不是说一个确实存在溢出漏洞的程序,放到带...
分类:其他好文   时间:2015-06-03 15:31:24    阅读次数:132
设置MAVEN_OPTS的推荐方法
运行mvn eclipse:eclipse时,经常会出现因为maven项目过大,导致内存不足java栈溢出的error,需要更改MAVEN启动内存http://stackoverflow.com/questions/2819853/setting-java-heap-space-under-mave...
分类:其他好文   时间:2015-06-03 11:38:56    阅读次数:138
Buffer Over Flow Vulnerability
记录一个简单的栈溢出的实例,具体的分析以后加进去。 程序源代码buffer.c: #include #include void fun1(char *input) { char buffer[10]; strcpy(buffer,input); printf("Call fun1,buffer=%s...
分类:其他好文   时间:2015-06-03 11:37:55    阅读次数:93
1.栈溢出的利用
1.进程使用的内存都可以按功能大致分为以下4个部分:(1)代码区:这个区域存储着被装入执行的二进制机器代码,处理器会到这个区域取指并执行。(2)数据区:用于存储全局变量等。(3)堆区:进程可以在堆区动态地请求一定大小的内存,并在用完之后还给堆区。动态分配和回收是堆区的特点。(4)栈区:用于动态地存储...
分类:其他好文   时间:2015-05-29 00:40:42    阅读次数:175
583条   上一页 1 ... 45 46 47 48 49 ... 59 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!