forked from Imagelibrary/binutils-gdb
fix source.c
find_and_open_source can leak a cleanup. * source.c (find_and_open_source): Call do_cleanups.
This commit is contained in:
@@ -985,6 +985,7 @@ find_and_open_source (const char *filename,
|
||||
char *path = source_path;
|
||||
const char *p;
|
||||
int result;
|
||||
struct cleanup *cleanup;
|
||||
|
||||
/* Quick way out if we already know its full name. */
|
||||
|
||||
@@ -1016,6 +1017,8 @@ find_and_open_source (const char *filename,
|
||||
*fullname = NULL;
|
||||
}
|
||||
|
||||
cleanup = make_cleanup (null_cleanup, NULL);
|
||||
|
||||
if (dirname != NULL)
|
||||
{
|
||||
/* If necessary, rewrite the compilation directory name according
|
||||
@@ -1072,6 +1075,7 @@ find_and_open_source (const char *filename,
|
||||
result = openp (path, OPF_SEARCH_IN_PATH, p, OPEN_MODE, fullname);
|
||||
}
|
||||
|
||||
do_cleanups (cleanup);
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user