发明名称 一种分析函数栈大小的方法
摘要 本发明涉及嵌入式系统技术领域,尤其涉及一种分析函数栈大小的方法,通过使用现成的工具sed、awk等和shell脚本语言来实现预期功能特性,这些现成的工具在不同硬件平台上都已经有相应的执行程序,其中采用脚本语言编码简单,不需编译链接,可跨平台直接运行,进而通过该方法可以生成超过指定栈大小的所有函数列表,根据列表信息可以通过分析相应函数源码,以提前识别出潜在的栈溢出风险。
申请公布号 CN104572094A 申请公布日期 2015.04.29
申请号 CN201410844223.6 申请日期 2014.12.25
申请人 上海斐讯数据通信技术有限公司 发明人 钟捷群
分类号 G06F9/44(2006.01)I 主分类号 G06F9/44(2006.01)I
代理机构 上海申新律师事务所 31272 代理人 俞涤炯
主权项 一种分析函数栈大小的方法,其特征在于,所述方法包括:步骤S1、提供一初始文件,所述初始文件具有若干声明函数行,以及部分所述声明函数行所对应的栈缓存行;每个所述声明函数行中均包括有声明函数的函数名称,每个所述栈缓存行中均包括有用于缓存的栈的大小;步骤S2、对所述初始文件添加行号,以生成第一文件;步骤S3、提取所述第一文件中的所述声明函数行,以生成第一合并文件;提取所述第一文件中的所述栈缓存行,以生成第二合并文件;步骤S4、根据行号排列的顺序,将所述第一合并文件和所述第二合并文件进行合并,以生成第二文件;步骤S5、提取所述第二文件中的各所述栈缓存行和每个所述栈缓存行所对应的声明函数行,以生成第三文件;步骤S6、提取所述第三文件中的函数名称和栈大小,并将每个所述函数名称和对应该函数名称的栈大小进行输出,以生成第四文件;步骤S7、提取所述第四文件中栈大小大于或等于预定值的声明函数,以生成列表输出文件。
地址 201616 上海市松江区广富林路4855弄20号