diff options
| author | Eli Zaretskii | 2022-10-02 12:58:04 +0300 |
|---|---|---|
| committer | Eli Zaretskii | 2022-10-02 12:58:04 +0300 |
| commit | 7ff520762468b5de4684e4a3d8f0103c8f3bec64 (patch) | |
| tree | 2db7176bb363f6b97ff8b239b92cd0ed8cfb53ed | |
| parent | 6c46aa2116557ab3fa4f9c81e50a30246e2614d8 (diff) | |
| download | emacs-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.c | 2 |
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); |