func: void ep_free_all() emem_free_all ( & ep_packet_mem ); static void emem_free_all(emem_header_t *mem) gboolean use_chunks = mem -> debug_use_chunks ; emem_chunk_t * npc ; while ( mem -> used_list )  npc = mem -> used_list; mem -> used_list = mem -> used_list -> next; npc -> next = mem -> free_list; mem -> free_list = npc; npc = mem -> free_list; while ( npc != ( ( void * ) 0 ) )  if ( use_chunks )  while ( npc -> canary_last != ( ( void * ) 0 ) )  npc -> canary_last = emem_canary_next ( mem -> canary , ( npc -> canary_last ) , ( ( void * ) 0 ) ); npc -> amount_free = npc -> amount_free_init; npc -> free_offset = npc -> free_offset_init; npc = npc -> next; emem_chunk_t * next = npc -> next ; npc = next; static void *emem_canary_next(guint8 *mem_canary,guint8 *canary,int *len) int i ; for (i = 0; i < 8 - 1; i++) if ( mem_canary [ i ] != canary [ i ] )  for (; i < 8 * 2 - 1; i++) if ( canary [ i ] == '\0' )  memcpy ( ( & ptr ) , ( & canary [ i + 1 ] ) , sizeof ( void * ) ); if ( mem_canary [ i ] != canary [ i ] )  