stack smashing detected解决过程
2024-08-27 21:29:21
在执行程序结束return 0 之后出现上图问题。主要原因是在程序中存在数组越界。
解决方法:
1. 查看定义的结构体内buffer大小,为4096字节
typedef struct
{
UINT32 len;
BYTE buf[];
} ctrust_tpm2_combuf_t
2. 查看要存储的结构体TPMS_CONTEXT大小为5208字节
sizeof(TPMS_CONTEXT)
3. 在memcpy拷贝时,要添加字节大小限制条件
if (sizeof(TPMS_CONTEXT) > )
{
sub_context->len = ;
}
else
{
sub_context->len = sizeof(TPMS_CONTEXT);
}
memcpy(&sub_context->buf, (BYTE *)&context, sub_context->len);
最新文章
- MySQL常见错误
- cf730e
- Java GC收集器配置说明
- Android学习系列(36)--App调试内存泄露之Context篇(上)
- Java I/O解读与使用实例
- static使用方法小结
- NoSql数据库使用
- [leetcode-581-Shortest Unsorted Continuous Subarray]
- Oracle10gXE和Oracle SQL Developer本地安装配置
- #WEB安全基础 : HTML/CSS | 0x3文件夹管理网站
- Docker Client (another java docker client api)
- 《数据结构-C语言版》(严蔚敏,吴伟民版)课本源码+习题集解析使用说明
- vue 自学项目笔记
- 转载 线程池 异步I/O线程 <;第三篇>;
- java转换图片压缩生成webp格式
- WebLogic使用总结(二)——WebLogic卸载
- Visual Studio使用阿里云Code Git服务器的常见问题
- 【转】Notepad++中Windows,Unix,Mac三种格式之间的转换
- CentOS7安装minio
- sphinx配置 + php