mirror of
git://git.code.sf.net/p/openocd/code
synced 2025-08-15 15:33:46 +10:00
helper: configuration: check for empty search dirs
The function find_file() is supposed to be called when the search dirs in 'script_search_dirs' has already been populated. This is not the case when the command 'ocd_find' is used in one of the embedded scripts 'startup.tcl'. It then triggers SIGSEGV. Check for 'script_search_dirs' and eventually skip searching in the dirs. Change-Id: I9e75a8739c94de72041fb64487910d60dffcb2bd Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com> Reviewed-on: https://review.openocd.org/c/openocd/+/8931 Tested-by: jenkins
This commit is contained in:
parent
3fbca95ae1
commit
40e6c98dfc
@ -71,17 +71,18 @@ char *find_file(const char *file)
|
||||
full_path = alloc_printf("%s", file);
|
||||
fp = fopen(full_path, mode);
|
||||
|
||||
while (!fp) {
|
||||
free(full_path);
|
||||
full_path = NULL;
|
||||
dir = *search_dirs++;
|
||||
if (script_search_dirs)
|
||||
while (!fp) {
|
||||
free(full_path);
|
||||
full_path = NULL;
|
||||
dir = *search_dirs++;
|
||||
|
||||
if (!dir)
|
||||
break;
|
||||
if (!dir)
|
||||
break;
|
||||
|
||||
full_path = alloc_printf("%s/%s", dir, file);
|
||||
fp = fopen(full_path, mode);
|
||||
}
|
||||
full_path = alloc_printf("%s/%s", dir, file);
|
||||
fp = fopen(full_path, mode);
|
||||
}
|
||||
|
||||
if (fp) {
|
||||
fclose(fp);
|
||||
|
Loading…
Reference in New Issue
Block a user