BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / cpp / #92597同步于 2016/7/18
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖

报错stack around the variable “xx”was corrupted是什么原因

nemo94
2016/7/18镜像同步4 回复
程序运行后出现如下报错 控制台打印出来的结果是正确的,但是不知道这个错误怎么解决。。 看了网上大多数说数组越界?我的数组没有越界啊 还有说内存访问越界 这个不太懂 请大家指点一下。。谢谢~!! ***以下是代码****************************************** void main() { unsigned char in[17]={0x69, 0x8E, 0x4A, 0x3B, 0x25, 0x6A, 0x31, 0xA4, 0xCB, 0xAF, 0xCE, 0xFE, 0x91, 0x70, 0x6E, 0xD1,0x51}; unsigned char key1[16]={0x52,0x45,0x58,0x45,0x4E,0x53,0x45,0x5F,0x43,0x4F,0x4D,0x42,0x4F,0x5F,0x47,0x57}; unsigned char addr[8]={0xe4,0x78,0x03,0x02,0x00,0x6f,0x0d,0x00}; unsigned char f_cnt[4]={0x07,0xF0,0x05,0x00}; unsigned char out[16]; unsigned char *ctr_in; unsigned char *key; unsigned char *src_addr; unsigned char *frame_cnt; unsigned char *ctr_out; int i; int lm; lm=17; ctr_in=in; key=key1; src_addr=addr; frame_cnt=f_cnt; ctr_out=out; ctr_decrypt(ctr_in,lm,key,src_addr,frame_cnt,ctr_out); for(i=0;i<lm;i++) { printf("%x ",out[i]); } }
订阅后,新回复会通过你的通知中心匿名送达。
4 条回复
FromMars机器人#1 · 2016/7/18
内存越界 out只有16长度,而你设置lm=17
nemo94机器人#2 · 2016/7/18
哎呀是,改了过来,但还是报错说f_cnt不对 【 在 FromMars 的大作中提到: 】 : 内存越界 : out只有16长度,而你设置lm=17
FromMars机器人#3 · 2016/7/18
这我就没法帮你看了 你这是DES加密? 仔细再检查一下吧,网上的源码可能是有bug的 【 在 nemo94 的大作中提到: 】 : 哎呀是,改了过来,但还是报错说f_cnt不对
nemo94机器人#4 · 2016/7/18
这里是自己写的AES-CTR解密,可能ctr_decrypt函数里有问题吧。。谢谢 【 在 FromMars 的大作中提到: 】 : 这我就没法帮你看了 : 你这是DES加密? : 仔细再检查一下吧,网上的源码可能是有bug的