Commit 005d8346 authored by Eli Zaretskii's avatar Eli Zaretskii

Avoid segfaults on MS-Windows in enexec'ed Emacs

* src/emacs.c (main) [WINDOWSNT]: Fix logic of using dynamic
heap in unexec case.  (Bug#34277)
parent 3d6d8d79
Pipeline #712 failed with stage
in 60 minutes and 1 second
......@@ -914,17 +914,23 @@ main (int argc, char **argv)
happens. This relies on the static heap being needed only in
temacs and only if we are going to dump with unexec. */
bool use_dynamic_heap = false;
char *temacs_str = strstr (argv[0], "temacs");
if (temacs
&& temacs_str != NULL
&& (temacs_str == argv[0] || IS_DIRECTORY_SEP (temacs_str[-1])))
if (temacs)
{
/* Note that gflags are set at this point only if we have been
called with the --temacs=METHOD option. We assume here that
temacs is always called that way, otherwise the functions
that rely on gflags, like will_dump_with_pdumper_p below,
will not do their job. */
use_dynamic_heap = will_dump_with_pdumper_p ();
char *temacs_str = NULL, *p;
for (p = argv[0]; (p = strstr (p, "temacs")) != NULL; p++)
temacs_str = p;
if (temacs_str != NULL
&& (temacs_str == argv[0] || IS_DIRECTORY_SEP (temacs_str[-1])))
{
/* Note that gflags are set at this point only if we have been
called with the --temacs=METHOD option. We assume here that
temacs is always called that way, otherwise the functions
that rely on gflags, like will_dump_with_pdumper_p below,
will not do their job. */
use_dynamic_heap = will_dump_with_pdumper_p ();
}
else
use_dynamic_heap = true;
}
else
use_dynamic_heap = true;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment