include "keyyy.h"
keyyy::keyyy()
{
pKey=(int*)malloc(16); //之前是13
}
keyyy::~keyyy()
{
free(pKey); 先malloc,中途又改变动态内存,在free的时候,会出错
}
int keycalc::mokey(const char* bdserial)
{
printf("class:%s\n", bdserial);
// int *tmp = (int*)malloc(12);
printf("%d\n", strlen(bdserial));
memset(pKey, '\n', 12);//Compatible with old algorithms
memcpy(pKey, bdserial, strlen(bdserial));//strlen(bdserial),pKey之前是13,这里遇到一个>13的bdserial,会改变pKey的长度, 先malloc,中途又改变动态内存,在free的时候,会出错
printf("asd%s\n%d",pKey);
malloc与free的问题:munmap_chunk(): invalid pointer,无效指针
最新推荐文章于 2025-07-21 13:00:27 发布
本文探讨了在C语言编程中遇到的`munmap_chunk(): invalid pointer`错误,该错误通常发生在使用malloc和free管理内存时。通过分析内存分配和释放的原理,解释了导致该错误的常见原因,如内存越界访问、释放未分配的内存、双重释放等问题,并提供了相应的解决策略和预防措施。
1万+

被折叠的 条评论
为什么被折叠?



