Bug #1177964: make file iterator raise MemoryError on too big files

This commit is contained in:
Georg Brandl 2006-03-31 20:31:02 +00:00
parent 644b1e7aac
commit ed02eb6aa9
1 changed files with 2 additions and 1 deletions

View File

@ -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