我使用AES加密在我的应用中加密/解密用户的信息。
这是我使用的代码:
https://gist.github.com/matsuda/9204276
一切都很好。
但是最近对代码进行了安全漏洞扫描,并且存在被标记的问题。
漏洞:
有符号记忆算术
说明:
软件使用索引或指针读取或写入缓冲区,索引或指针在缓冲区结束后引用内存位置
上面链接中NSData+AES.m
代码的第39-40行是突出显示的位置
size_t bufferSize = dataLength + kCCBlockSizeAES128;
void *buffer = malloc(bufferSize);
我不知道该怎么办。
在分配之前使用dataLength + kCCBlockSizeAES128计算缓冲区大小,这样长度应该没问题?
感谢您的帮助。