heap_1.c provides the heap that is required by the kernel itself. It defines the functios pvPortMalloc() and vPortFree().
If you call a standard library function that attempts to dynamically allocate RAM then the library will call the standard malloc() and free(). malloc() and free() will attempt to allocate from the heap segment as specified by the linker file. To use any such function you therefore need to update your MPLAB project to include heap space. Alternaively, call pvPortMalloc() and vPortFree() in place of malloc and free.