From b37c3ed5e57e528adf73548882cf252a79c014dd Mon Sep 17 00:00:00 2001 From: Michael Haubenwallner Date: Wed, 31 Aug 2016 20:07:07 +0200 Subject: [PATCH] dlopen (pathfinder): try each basename per dir Rather than searching all search dirs per one basename, search for all basenames within per one search dir. pathfinder.h (check_path_access): Interchange dir- and basename-loops. --- winsup/cygwin/pathfinder.h | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/winsup/cygwin/pathfinder.h b/winsup/cygwin/pathfinder.h index bbba1684f..c3066044b 100644 --- a/winsup/cygwin/pathfinder.h +++ b/winsup/cygwin/pathfinder.h @@ -182,12 +182,12 @@ public: basenamelist::member const ** found_basename = NULL) { char const * critname = criterion.name (); - for (basenamelist::iterator name = basenames_.begin (); - name != basenames_.end (); - ++name) - for (searchdirlist::iterator dir(searchdirs_.begin ()); - dir != searchdirs_.end (); - ++dir) + for (searchdirlist::iterator dir(searchdirs_.begin ()); + dir != searchdirs_.end (); + ++dir) + for (basenamelist::iterator name = basenames_.begin (); + name != basenames_.end (); + ++name) if (criterion.test (dir, name)) { debug_printf ("(%s), take %s%s", critname,