Example #1
0
void add(MEM_INFO alloc_info)
{

    MEM_LEAK * mem_leak_info = NULL;
    mem_leak_info = (MEM_LEAK *)malloc(sizeof(MEM_LEAK));
    mem_leak_info->mem_info.address = alloc_info.address;
    mem_leak_info->mem_info.size = alloc_info.size;
    strcpy(mem_leak_info->mem_info.file_name, alloc_info.file_name); 
    mem_leak_info->mem_info.line = alloc_info.line;
    mem_leak_info->next = NULL;

    if (ptr_start == NULL)    
    {
        ptr_start = mem_leak_info;
        ptr_next = ptr_start;
    }
    else {
        ptr_next->next = mem_leak_info;
        ptr_next = ptr_next->next;                
    }
	if(mem_flag) {
		printf("mem_leak_info =%p\n",mem_leak_info);
		mem_flag = 0;
		report_mem_leak();
	}

}
Example #2
0
void main()
{
	void *ptr;
	ptr=malloc(256);
	ptr=malloc(128);
	strdup("0123456789abcdef");
	calloc(1,32);

	free(ptr);
	report_mem_leak();
}