Hi Experts,
Here I have a problem in piece of code (Memore leak and dump. I am also
using CC malloc tool for finding exact point of leak.
If experts share your vies then this would be great help for me.
What you think ??
please don't go the coding style. just check the logic....
==============================================
int i;
int j;
int n = 0;
uint32 temp = 0;
uint8 bitpos = 0;
uint8 dchAmount = dataDchUl->data.n;
uint8 hdrCRC = 0;
uint16 trlCRC = 0;
uint8 writeBuffer[10];
uint8 pduPos = 0;
BYTE_TYPE *curPtr, *payloadPtr;
if (*pdu != NULL)
deleteFrame (pdu);
*for (i = 0; i < dchAmount; i++)
//Dump is taking me at this point*
* for (j = 0; j < dataDchUl->data.elem[i].tbs.tbnr; j++)*
* n += frameLength (dataDchUl->data.elem[i].tbs.tbs.elem[j].data);*
*pdu = createFrame(n + 2 + dchAmount /* header */ + 10 /* max. tail size
*/);
curPtr = resnLastBytes(pdu, n + 2 + dchAmount /* header */ + 10 /* max.
tail size */);
hdrCRC = FpCrc7_tab[dataDchUl->cfn ^ hdrCRC];
for (i = 0; i < dchAmount; i++) {
hdrCRC = FpCrc7_tab[dataDchUl->data.elem[i].tfi ^ hdrCRC];
}
*curPtr++ = hdrCRC;
*curPtr++ = dataDchUl->cfn;
for (i = 0; i < dchAmount; i++)
*curPtr++ = dataDchUl->data.elem[i].tfi
payloadPtr = curPtr;
for (i = 0; i < dchAmount; i++) {
for (j = 0; j < dataDchUl->data.elem[i].tbs.tbnr; j++) {
copyBytesToArray(dataDchUl->data.elem[i].tbs.tbs.elem[j].data,
curPtr);
curPtr += frameLength(dataDchUl->data.elem[i].tbs.tbs.elem[j].data);
deleteFrame (&dataDchUl->data.elem[i].tbs.tbs.elem[j].data);
}
}
usenLastBytes(*pdu, n + 2 + dchAmount);
writeBuffer[0] = dataDchUl->qe;
pduPos = 1;
temp = 0;
bitpos = 7;
for (i = 0; i < dchAmount; i++) {
for (j = 0; j < dataDchUl->data.elem[i].tbs.tbnr; j++) {
if (bitpos == 7)
writeBuffer[pduPos] = 0;
if (dataDchUl->data.elem[i].tbs.tbs.elem[j].crcStatus ==
crcError_e_L1CrcStatus) {
writeBuffer[pduPos] |= (1 << bitpos);
}
if (bitpos == 0) {
pduPos++;
bitpos = 7;
}
else
bitpos--;
}
}
/* clear buffer */
for (i = 0; i < dchAmount; i++) {
dataDchUl->data.elem[i].tbs.tbnr = 0;
dataDchUl->data.elem[i].tbs.tbs.n = 0;
}
dataDchUl->data.n = 0;
========================================================================
TIA
-Ravi
[Non-text portions of this message have been removed]