diff options
| author | Paul Eggert | 2013-08-23 10:57:07 -0700 |
|---|---|---|
| committer | Paul Eggert | 2013-08-23 10:57:07 -0700 |
| commit | c365c3558065fca4c11c3f46605d1045763485ab (patch) | |
| tree | 9005b8c7afef991fe569928e2cb9a8b2f7e78324 /src/ChangeLog | |
| parent | bb35f42f61663c47d3443a87665462f75dfd3b2c (diff) | |
| download | emacs-c365c3558065fca4c11c3f46605d1045763485ab.tar.gz emacs-c365c3558065fca4c11c3f46605d1045763485ab.zip | |
Don't let very long directory names overrun the stack.
Fix some related minor problems involving "//", vfork.
* callproc.c (encode_current_directory): New function.
(call_process): Don't append "/"; not needed.
* fileio.c (file_name_as_directory_slop): New constant.
(file_name_as_directory): Allow SRC to be longer than SRCLEN;
this can save the caller having to alloca.
(Ffile_name_as_directory, Fdirectory_file_name, Fexpand_file_name):
Use SAFE_ALLOCA, not alloca.
(directory_file_name, Fexpand_file_name): Leave leading "//"
alone, since it can be special even on POSIX platforms.
* callproc.c (call_process):
* process.c (Fformat_network_address):
* sysdep.c (sys_subshell):
Use encode_current_directory rather than rolling our own.
(create_process): No need to encode directory; caller does that now.
* process.h (encode_current_directory): New decl.
* sysdep.c (sys_subshell): Work even if vfork trashes saved_handlers.
Rework to avoid 'goto xyzzy;'.
Diffstat (limited to 'src/ChangeLog')
| -rw-r--r-- | src/ChangeLog | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index bee477c745a..73fdb0221ce 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,25 @@ | |||
| 1 | 2013-08-23 Paul Eggert <eggert@cs.ucla.edu> | ||
| 2 | |||
| 3 | Don't let very long directory names overrun the stack. | ||
| 4 | Fix some related minor problems involving "//", vfork. | ||
| 5 | * callproc.c (encode_current_directory): New function. | ||
| 6 | (call_process): Don't append "/"; not needed. | ||
| 7 | * fileio.c (file_name_as_directory_slop): New constant. | ||
| 8 | (file_name_as_directory): Allow SRC to be longer than SRCLEN; | ||
| 9 | this can save the caller having to alloca. | ||
| 10 | (Ffile_name_as_directory, Fdirectory_file_name, Fexpand_file_name): | ||
| 11 | Use SAFE_ALLOCA, not alloca. | ||
| 12 | (directory_file_name, Fexpand_file_name): Leave leading "//" | ||
| 13 | alone, since it can be special even on POSIX platforms. | ||
| 14 | * callproc.c (call_process): | ||
| 15 | * process.c (Fformat_network_address): | ||
| 16 | * sysdep.c (sys_subshell): | ||
| 17 | Use encode_current_directory rather than rolling our own. | ||
| 18 | (create_process): No need to encode directory; caller does that now. | ||
| 19 | * process.h (encode_current_directory): New decl. | ||
| 20 | * sysdep.c (sys_subshell): Work even if vfork trashes saved_handlers. | ||
| 21 | Rework to avoid 'goto xyzzy;'. | ||
| 22 | |||
| 1 | 2013-08-23 Eli Zaretskii <eliz@gnu.org> | 23 | 2013-08-23 Eli Zaretskii <eliz@gnu.org> |
| 2 | 24 | ||
| 3 | * xdisp.c (handle_face_prop): If the default face was remapped use | 25 | * xdisp.c (handle_face_prop): If the default face was remapped use |