I have been stuck in one problem of heap corruption.
The problem i traced occurs after vector push_back.

Code:
//I have two structures in cpp
struct name
{
int a;
int b;
char address[5];
name *ptr;
};

typedef vector<name>  vecName;
typedef vector<name*> vecNamePtr;

//Second one
struct part
{
vecName vcN;
VecNamePtr vcNp;
int a;
char address[5];
int c;
}

typedef vector<part>  vecPart;
typedef vector<part*> vecPartPtr;

//Somewhere down the line, I have created pointer of struct name.
name **FilledData;
*FilledData=  (name*) calloc(*rows, sizeof(name)); // rows calculated somewhere to keep data array.

//after this data is poulated in array.
for(i=0; i<rows; i++){
*FilledData[i] // Fill the structure with data;
(*FilledData)[i].ptr=(*FilledData)[i];
}

{
//After this trying to insert the data in vector
vecPart pList;
part pPart;

pPart = uciList[i]; // For this i have parametrized constructor like part (const name&)
//The data in filledDatat[i].ptr is Ok till now.
pList.push_back(pPart); //I have the copy constructor part (const part&)
//The data in filledData[i].ptr is CORRUPTED.
}
Please help, and let me know if more information required.