==14313== Invalid read of size 8
==14313== at 0x109E5F: fill_exec (src/execution/utils.c:42)
==14313== by 0x10977D: prepare_exec (src/execution/dispatch.c:97)
==14313== by 0x1096AF: dispatch_cmd (src/execution/dispatch.c:125)
==14313== by 0x10C0BF: main (src/main.c:48)
==14313== Address 0x0 is not stack'd, malloc'd or (recently) free'd
==14313==
==14313==
==14313== Process terminating with default action of signal 11 (SIGSEGV)
==14313== Access not within mapped region at address 0x0
==14313== at 0x109E5F: fill_exec (src/execution/utils.c:42)
==14313== by 0x10977D: prepare_exec (src/execution/dispatch.c:97)
==14313== by 0x1096AF: dispatch_cmd (src/execution/dispatch.c:125)
==14313== by 0x10C0BF: main (src/main.c:48)
==14313== If you believe this happened as a result of a stack
==14313== overflow in your program's main thread (unlikely but
==14313== possible), you can try to increase the size of the
==14313== main thread stack using the --main-stacksize= flag.
==14313== The main thread stack size used in this run was 8388608.
==14313==
==14313== HEAP SUMMARY:
==14313== in use at exit: 215,752 bytes in 270 blocks
==14313== total heap usage: 495 allocs, 225 frees, 236,168 bytes allocated
==14313==
==14313== LEAK SUMMARY:
==14313== definitely lost: 0 bytes in 0 blocks
==14313== indirectly lost: 0 bytes in 0 blocks
==14313== possibly lost: 0 bytes in 0 blocks
==14313== still reachable: 215,752 bytes in 270 blocks
==14313== suppressed: 0 bytes in 0 blocks
==14313== Rerun with --leak-check=full to see details of leaked memory
==14313==
==14313== For lists of detected and suppressed errors, rerun with: -s
==14313== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
[1] 14313 segmentation fault valgrind ./minishell```