in chapter 7 (Data management):
the author talks about dynamic memory allocation in C using the stander C library function malloc(),
he says in page 260 that:
Eventually, when the application exhausts both the physical memory and the swap space, or when the
maximum stack size is exceeded, the kernel finally refuses the request for further memory and may preemptively terminate the program.
now according to my knowledge malloc() allocate memory on the heap not the stack