#3205: bz2 iterator fails silently on MemoryError
(backport from r65609)
diff --git a/Misc/NEWS b/Misc/NEWS
index 79e7d41..475c9cb 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -145,6 +145,9 @@
Extension Modules
-----------------
+- Issue #3205: When iterating over a BZ2File fails allocating memory, raise
+ a MemoryError rather than silently stop the iteration.
+
- Patch #2111: Avoid mmap segfault when modifying a PROT_READ block.
- zlib.decompressobj().flush(value) no longer crashes the interpreter when
diff --git a/Modules/bz2module.c b/Modules/bz2module.c
index 7d33a77..9e868c5 100644
--- a/Modules/bz2module.c
+++ b/Modules/bz2module.c
@@ -416,6 +416,7 @@
return 0;
}
if ((f->f_buf = PyMem_Malloc(bufsize)) == NULL) {
+ PyErr_NoMemory();
return -1;
}
Py_BEGIN_ALLOW_THREADS