gpt4 book ai didi

c - 错误 :free(): invalid next size (fast)

转载 作者:太空宇宙 更新时间:2023-11-04 05:05:41 25 4
gpt4 key购买 nike

<分区>

当我在这部分代码中释放我的内存时......我收到一个错误显示为:free():下一个大小无效(快速)

int insertRecord(char *record,int recordSize,long dataPageNumber)
{
datapage *dataPage=(datapage *)malloc(sizeof(datapage));
readPage(dataPage,dataPageNumber);

slotentry slot;

//for checking and freeslotnumber storage
int freeSlotNumber=-1;
int negativeFlag=0;
int freeFlag=0;

if(recordSize+sizeof(slotentry)<=dataPage->cfs)
{
slot.slotsize = recordSize;
slot.slotaddress = dataPage->cfsptr;
dataPage->cfs -= (recordSize+sizeof(slotentry));
dataPage->cfsptr += recordSize;
dataPage->slotcount++;

memcpy(&dataPage->data[slot.slotaddress],record,recordSize);

free(dataPage);
return 1;
}

执行 free(dataPage) 后出现上述错误...

typedef struct
{
int pagenumber;
int priority;
long dirPageNo;
long cfs;
int cfsptr;
int slotcount;
char data[1];
} datapage;

typedef struct
{
int slotaddress;
int slotsize;
} slotentry;

我在 memcpy 之前保留了 free(dataPage),它工作正常,但在 memcpy 之后它不工作了......并显示错误......任何人都可以帮助我解决这个问题......

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com