Add a safety limit to the number of unicode characters we fetch
(followup to r84635, suggested by Dave Malcolm).
diff --git a/Tools/gdb/libpython.py b/Tools/gdb/libpython.py
index 79f21e3..361fb03 100644
--- a/Tools/gdb/libpython.py
+++ b/Tools/gdb/libpython.py
@@ -1103,7 +1103,8 @@
             # inferior process: we must join surrogate pairs.
             Py_UNICODEs = []
             i = 0
-            while i < field_length:
+            limit = safety_limit(field_length)
+            while i < limit:
                 ucs = int(field_str[i])
                 i += 1
                 if ucs < 0xD800 or ucs >= 0xDC00 or i == field_length: