summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Schwab <schwab@linux-m68k.org>2022-10-02 12:15:27 +0200
committerAndreas Schwab <schwab@linux-m68k.org>2022-10-02 12:20:09 +0200
commite5a49f44ffa66bcfa4b56b5fab088f7437b0ba9d (patch)
tree89e86fc4b17e16568b89bc95a3d033138b7cb51c
parent7ff520762468b5de4684e4a3d8f0103c8f3bec64 (diff)
downloademacs-e5a49f44ffa66bcfa4b56b5fab088f7437b0ba9d.tar.gz
* src/emacs.c (load_pdump): Fix use of xpalloc.
-rw-r--r--src/emacs.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/src/emacs.c b/src/emacs.c
index 602fa802e0b..92779a8d0de 100644
--- a/src/emacs.c
+++ b/src/emacs.c
@@ -867,9 +867,8 @@ load_pdump (int argc, char **argv)
}
/* Where's our executable? */
- ptrdiff_t bufsize, exec_bufsize;
- emacs_executable = load_pdump_find_executable (argv[0], &bufsize);
- exec_bufsize = bufsize;
+ ptrdiff_t exec_bufsize, needed;
+ emacs_executable = load_pdump_find_executable (argv[0], &exec_bufsize);
/* If we couldn't find our executable, go straight to looking for
the dump in the hardcoded location. */
@@ -902,8 +901,8 @@ load_pdump (int argc, char **argv)
strip_suffix_length))
exenamelen = prefix_length;
}
- ptrdiff_t needed = exenamelen + strlen (suffix) + 1;
- dump_file = xpalloc (NULL, &bufsize, max (1, needed - bufsize), -1, 1);
+ ptrdiff_t bufsize = exenamelen + strlen (suffix) + 1;
+ dump_file = xpalloc (NULL, &bufsize, 1, -1, 1);
memcpy (dump_file, emacs_executable, exenamelen);
strcpy (dump_file + exenamelen, suffix);
result = pdumper_load (dump_file, emacs_executable);