aboutsummaryrefslogtreecommitdiff
path: root/readline/xfree.c
diff options
context:
space:
mode:
authorJan Kratochvil <jan.kratochvil@redhat.com>2011-06-29 20:51:10 +0000
committerJan Kratochvil <jan.kratochvil@redhat.com>2011-06-29 20:51:10 +0000
commit0d1b033387342e34b9d3a973dfe40d31dc1a07b4 (patch)
tree534b87048a872685d20fd4ed7259bd961d0eb2be /readline/xfree.c
parent9fe77896a79cdc7ed17d51f0fdaa0b7153474bc2 (diff)
downloadgdb-0d1b033387342e34b9d3a973dfe40d31dc1a07b4.zip
gdb-0d1b033387342e34b9d3a973dfe40d31dc1a07b4.tar.gz
gdb-0d1b033387342e34b9d3a973dfe40d31dc1a07b4.tar.bz2
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.
Diffstat (limited to 'readline/xfree.c')
-rw-r--r--readline/xfree.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/readline/xfree.c b/readline/xfree.c
index 37a81e6..d3af7d9 100644
--- a/readline/xfree.c
+++ b/readline/xfree.c
@@ -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);
}