Issue #11386: Fixed the exception thrown by bytearray.pop() for empty bytearrays
diff --git a/Lib/test/test_bytes.py b/Lib/test/test_bytes.py
index a6f1826..0b70c3a 100644
--- a/Lib/test/test_bytes.py
+++ b/Lib/test/test_bytes.py
@@ -790,7 +790,7 @@
         self.assertEqual(b.pop(0), ord('w'))
         self.assertEqual(b.pop(-2), ord('r'))
         self.assertRaises(IndexError, lambda: b.pop(10))
-        self.assertRaises(OverflowError, lambda: bytearray().pop())
+        self.assertRaises(IndexError, lambda: bytearray().pop())
         # test for issue #6846
         self.assertEqual(bytearray(b'\xff').pop(), 0xff)
 
diff --git a/Misc/NEWS b/Misc/NEWS
index c089412..876afdd 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -49,6 +49,9 @@
 
 - Issue #10516: New copy() and clear() methods for lists and bytearrays.
 
+- Issue #11386: bytearray.pop() now throws IndexError when the bytearray is
+  empty, instead of OverflowError.
+
 Library
 -------
 
diff --git a/Objects/bytearrayobject.c b/Objects/bytearrayobject.c
index b419482..0c80f67 100644
--- a/Objects/bytearrayobject.c
+++ b/Objects/bytearrayobject.c
@@ -2309,8 +2309,8 @@
         return NULL;
 
     if (n == 0) {
-        PyErr_SetString(PyExc_OverflowError,
-                        "cannot pop an empty bytearray");
+        PyErr_SetString(PyExc_IndexError,
+                        "pop from empty bytearray");
         return NULL;
     }
     if (where < 0)