Further information on unsafe functions used in signal handlers: a brief inspection of the code in the termination_unwind_protect() handler revealed other instances than the one highlighted before:
run_interrupt_trap->_run_trap_internal->savestring->xmalloc
(and more like that)
maybe_save_shell_history->append_history
append_history->history_do_write
maybe_save_shell_history->write_history
write_history->history_do_write
history_do_write->savestring->xmalloc
history_do_write->xmalloc
history_do_write->malloc
history_do_write->mmap
unlink_fifo_list->free
run_exit_trap->savestring->xmalloc
run_exit_trap->setjmp?
run_exit_trap->reset_parser->free
run_exit_trap->parse_and_execute->begin_unwind_frame->...->uwpalloc->xmalloc
(and more like that)
So regardless of the bash malloc() implementation, mmap() and setjmp()
are used from this signal handler and they may not be. (However, I
haven't been able to trigger either of these cases yet.)
Tim.
*/
pgpUmTfDvP2oz.pgp
Description: PGP signature
_______________________________________________ Bug-bash mailing list [email protected] http://lists.gnu.org/mailman/listinfo/bug-bash
