If we try to load a non-existing script through programCreateByPath then the gInterpreterCurrentProgram is NULL and the function programFatalError returns although it is marked as [[noreturn]], resulting in undefined behaviour. In my case, the subsequent return nullptr is skipped and the program crashes on fileGetSize.
Removing [[noreturn]] attribute fixes the crash. I am not sure if it can possibly break anything with that longjmp call in the programFatalError function.
If we try to load a non-existing script through
programCreateByPath
then thegInterpreterCurrentProgram
is NULL and the function programFatalError returns although it is marked as [[noreturn]], resulting in undefined behaviour. In my case, the subsequentreturn nullptr
is skipped and the program crashes on fileGetSize.Removing [[noreturn]] attribute fixes the crash. I am not sure if it can possibly break anything with that
longjmp
call in the programFatalError function.