Author: labath Date: Thu Feb 7 06:03:43 2019 New Revision: 353406 URL: http://llvm.org/viewvc/llvm-project?rev=353406&view=rev Log: use_lldb_suite.py: Fix potential infinite loop
The loop searching for use_lldb_suite_root had a bug where if the marker file happened to be missing, it would enter an infinite loop. While this shouldn't happen in normal circumstances, it can happen accidentally, and debugging it is not very pleasant. The loop had an exit condition, but it was incorrent (os.path.dirname returning None). This will never happen as dirname will just return the same folder over and over again once it reaches the root folder. This fixes the exit condition to account for that. Modified: lldb/trunk/scripts/use_lldb_suite.py Modified: lldb/trunk/scripts/use_lldb_suite.py URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/scripts/use_lldb_suite.py?rev=353406&r1=353405&r2=353406&view=diff ============================================================================== --- lldb/trunk/scripts/use_lldb_suite.py (original) +++ lldb/trunk/scripts/use_lldb_suite.py Thu Feb 7 06:03:43 2019 @@ -6,9 +6,10 @@ import sys def find_lldb_root(): lldb_root = os.path.dirname(inspect.getfile(inspect.currentframe())) while True: - lldb_root = os.path.dirname(lldb_root) - if lldb_root is None: - return None + parent = os.path.dirname(lldb_root) + if parent == lldb_root: # dirname('/') == '/' + break + lldb_root = parent test_path = os.path.join(lldb_root, "use_lldb_suite_root.py") if os.path.isfile(test_path): _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits