From b03a6ea40ebd65be04d15eca28db52d37e816270 Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Mon, 10 Nov 2008 20:38:24 +0000 Subject: [PATCH] * cli/cli-cmds.c (source_script): Clean up full_pathname. Run cleanups on early return. --- gdb/ChangeLog | 5 +++++ gdb/cli/cli-cmds.c | 6 +++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 704c2937f64..090a9424fdf 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2008-11-10 Tom Tromey + + * cli/cli-cmds.c (source_script): Clean up full_pathname. Run + cleanups on early return. + 2008-11-09 Vladimir Prus Kill pthread_ops_hack diff --git a/gdb/cli/cli-cmds.c b/gdb/cli/cli-cmds.c index d9d2c56b5a5..21a64a0e951 100644 --- a/gdb/cli/cli-cmds.c +++ b/gdb/cli/cli-cmds.c @@ -450,6 +450,7 @@ source_script (char *file, int from_tty) files. Put the full location in 'full_pathname'. */ fd = openp (source_path, OPF_TRY_CWD_FIRST, file, O_RDONLY, 0, &full_pathname); + make_cleanup (xfree, full_pathname); /* Use the full path name, if it is found. */ if (full_pathname != NULL && fd != -1) @@ -462,7 +463,10 @@ source_script (char *file, int from_tty) if (from_tty) perror_with_name (file); else - return; + { + do_cleanups (old_cleanups); + return; + } } stream = fdopen (fd, FOPEN_RT); -- 2.30.2