readline/
Avoid free from a signal handler. * Makefile.in (xfree.o): Add readline.h. * xfree.c: Include stdio.h and readline.h. (xfree): Return on RL_STATE_SIGHANDLER. * xmalloc.h (xfree): New definition.
This commit is contained in:
parent
9fe77896a7
commit
0d1b033387
@ -1,3 +1,11 @@
|
||||
2011-06-29 Jan Kratochvil <jan.kratochvil@redhat.com>
|
||||
|
||||
Avoid free from a signal handler.
|
||||
* Makefile.in (xfree.o): Add readline.h.
|
||||
* xfree.c: Include stdio.h and readline.h.
|
||||
(xfree): Return on RL_STATE_SIGHANDLER.
|
||||
* xmalloc.h (xfree): New definition.
|
||||
|
||||
2011-05-11 Jan Kratochvil <jan.kratochvil@redhat.com>
|
||||
|
||||
Workaround gdb.base/completion.exp regression on readline-6.2.
|
||||
|
@ -422,7 +422,7 @@ vi_mode.o: rldefs.h ${BUILD_DIR}/config.h rlconf.h
|
||||
vi_mode.o: readline.h keymaps.h rltypedefs.h chardefs.h tilde.h
|
||||
vi_mode.o: history.h ansi_stdlib.h rlstdc.h
|
||||
xfree.o: ${BUILD_DIR}/config.h
|
||||
xfree.o: ansi_stdlib.h
|
||||
xfree.o: ansi_stdlib.h readline.h
|
||||
xmalloc.o: ${BUILD_DIR}/config.h
|
||||
xmalloc.o: ansi_stdlib.h
|
||||
|
||||
|
@ -31,7 +31,10 @@
|
||||
# include "ansi_stdlib.h"
|
||||
#endif /* HAVE_STDLIB_H */
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
#include "xmalloc.h"
|
||||
#include "readline.h"
|
||||
|
||||
/* **************************************************************** */
|
||||
/* */
|
||||
@ -45,6 +48,10 @@ void
|
||||
xfree (string)
|
||||
PTR_T string;
|
||||
{
|
||||
/* Leak a bit. */
|
||||
if (RL_ISSTATE(RL_STATE_SIGHANDLER))
|
||||
return;
|
||||
|
||||
if (string)
|
||||
free (string);
|
||||
}
|
||||
|
@ -38,6 +38,9 @@
|
||||
|
||||
#endif /* !PTR_T */
|
||||
|
||||
/* xmalloc and xrealloc should be also protected from RL_STATE_SIGHANDLER. */
|
||||
#define xfree xfree_readline
|
||||
|
||||
extern PTR_T xmalloc PARAMS((size_t));
|
||||
extern PTR_T xrealloc PARAMS((void *, size_t));
|
||||
extern void xfree PARAMS((void *));
|
||||
|
Loading…
Reference in New Issue
Block a user