aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEli Zaretskii2022-10-02 12:58:04 +0300
committerEli Zaretskii2022-10-02 12:58:04 +0300
commit7ff520762468b5de4684e4a3d8f0103c8f3bec64 (patch)
tree2db7176bb363f6b97ff8b239b92cd0ed8cfb53ed
parent6c46aa2116557ab3fa4f9c81e50a30246e2614d8 (diff)
downloademacs-7ff520762468b5de4684e4a3d8f0103c8f3bec64.tar.gz
emacs-7ff520762468b5de4684e4a3d8f0103c8f3bec64.zip
Avoid assertion violation in 'xpalloc'
* src/emacs.c (load_pdump): Ensure the 3rd argument of xpalloc is always positive. (Bug#58232)
-rw-r--r--src/emacs.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/emacs.c b/src/emacs.c
index 0a90b0913be..602fa802e0b 100644
--- a/src/emacs.c
+++ b/src/emacs.c
@@ -903,7 +903,7 @@ load_pdump (int argc, char **argv)
903 exenamelen = prefix_length; 903 exenamelen = prefix_length;
904 } 904 }
905 ptrdiff_t needed = exenamelen + strlen (suffix) + 1; 905 ptrdiff_t needed = exenamelen + strlen (suffix) + 1;
906 dump_file = xpalloc (NULL, &bufsize, needed - bufsize, -1, 1); 906 dump_file = xpalloc (NULL, &bufsize, max (1, needed - bufsize), -1, 1);
907 memcpy (dump_file, emacs_executable, exenamelen); 907 memcpy (dump_file, emacs_executable, exenamelen);
908 strcpy (dump_file + exenamelen, suffix); 908 strcpy (dump_file + exenamelen, suffix);
909 result = pdumper_load (dump_file, emacs_executable); 909 result = pdumper_load (dump_file, emacs_executable);