Although unlikely, HeapReAlloc() can fail and return NULL. It would be better to handle that possibility. Since increase_list_size() and process_list_append() are both small functions, I think it's worth considering merging increase_list_size() into process_list_append(), since that would probably simplify handling HeapReAlloc() failures. The comment about HEAP_ZERO_MEMORY in init_process_list() applies here as well.
I didn't understand the function of the flags in HeapAlloc() and HeapReAlloc(). I read the function RtlAllocateHeap() but I am unable to figure out which flag to use out of HEAP_GENERATE_EXCEPTIONS, HEAP_NO_SERIALIZE and HEAP_ZERO_MEMORY.
All other changes done.* Diff file attached. *