最近写代码,碰到一个奇葩问题,memcpy函数用起来,编译居然提示我stackoverflow,简直是对写C的码农的最大羞辱,WTF!
UINT8 numBuffers = 0;
UINT16 cpLength = 0;
// TPM2B_DIGEST *bufferList;
if(length%(MAX_DIGEST_BUFFER) != 0)
numBuffers = length/(MAX_DIGEST_BUFFER) + 1;
else
numBuffers = length/(MAX_DIGEST_BUFFER);
TPM2B_DIGEST *bufferList[numBuffers];
for(UINT8 i = 0; i < numBuffers; i++)
{
(bufferList)[i] = (TPM2B_DIGEST *)calloc(1,sizeof(TPM2B_DIGEST));
if(i < numBuffers-1)
{
// memcpy(bufferList[i]->t.buffer, &buffer[cpLength], MAX_DIGEST_BUFFER);
for( UINT16 m = 0; m < MAX_DIGEST_BUFFER; m++)
{
bufferList[i]->t.buffer[m] = buffer[m + cpLength];
}
cpLength = i * MAX_DIGEST_BUFFER;
}
if(i