Patch #1192590: Fix pdb's "ignore" and "condition" commands so they trap the IndexError caused by passing in an invalid breakpoint number.
Will backport.
diff --git a/Lib/pdb.py b/Lib/pdb.py
index f56941e..2ec736b 100755
--- a/Lib/pdb.py
+++ b/Lib/pdb.py
@@ -485,7 +485,11 @@
cond = args[1]
except:
cond = None
- bp = bdb.Breakpoint.bpbynumber[bpnum]
+ try:
+ bp = bdb.Breakpoint.bpbynumber[bpnum]
+ except IndexError:
+ print >>self.stdout, 'Breakpoint index %r is not valid' % args[0]
+ return
if bp:
bp.cond = cond
if not cond:
@@ -506,7 +510,11 @@
count = int(args[1].strip())
except:
count = 0
- bp = bdb.Breakpoint.bpbynumber[bpnum]
+ try:
+ bp = bdb.Breakpoint.bpbynumber[bpnum]
+ except IndexError:
+ print >>self.stdout, 'Breakpoint index %r is not valid' % args[0]
+ return
if bp:
bp.ignore = count
if count > 0:
diff --git a/Misc/NEWS b/Misc/NEWS
index 8d93d01..24d7a14 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -158,6 +158,9 @@
Library
-------
+- Patch #1192590: Fix pdb's "ignore" and "condition" commands so they trap
+ the IndexError caused by passing in an invalid breakpoint number.
+
- Patch #1599845: Add an option to disable the implicit calls to server_bind()
and server_activate() in the constructors for TCPServer, SimpleXMLRPCServer
and DocXMLRPCServer.