[Lldb-commits] [lldb] r353406 - use_lldb_suite.py: Fix potential infinite loop
Pavel Labath via lldb-commits
lldb-commits at lists.llvm.org
Thu Feb 7 06:03:44 PST 2019
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):
More information about the lldb-commits
mailing list