Bug #1177964: make file iterator raise MemoryError on too big files
This commit is contained in:
parent
644b1e7aac
commit
ed02eb6aa9
|
@ -1797,7 +1797,7 @@ drop_readahead(PyFileObject *f)
|
||||||
|
|
||||||
/* Make sure that file has a readahead buffer with at least one byte
|
/* Make sure that file has a readahead buffer with at least one byte
|
||||||
(unless at EOF) and no more than bufsize. Returns negative value on
|
(unless at EOF) and no more than bufsize. Returns negative value on
|
||||||
error */
|
error, will set MemoryError if bufsize bytes cannot be allocated. */
|
||||||
static int
|
static int
|
||||||
readahead(PyFileObject *f, int bufsize)
|
readahead(PyFileObject *f, int bufsize)
|
||||||
{
|
{
|
||||||
|
@ -1810,6 +1810,7 @@ readahead(PyFileObject *f, int bufsize)
|
||||||
drop_readahead(f);
|
drop_readahead(f);
|
||||||
}
|
}
|
||||||
if ((f->f_buf = PyMem_Malloc(bufsize)) == NULL) {
|
if ((f->f_buf = PyMem_Malloc(bufsize)) == NULL) {
|
||||||
|
PyErr_NoMemory();
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
Py_BEGIN_ALLOW_THREADS
|
Py_BEGIN_ALLOW_THREADS
|
||||||
|
|
Loading…
Reference in New Issue