diff -r 0acc5626a578 Modules/_cursesmodule.c --- a/Modules/_cursesmodule.c Tue Oct 23 22:50:11 2012 +0100 +++ b/Modules/_cursesmodule.c Wed Oct 24 13:36:36 2012 +0200 @@ -1713,7 +1713,11 @@ remove(fn); return res; } - fseek(fp, 0, 0); + if (fseek(fp, 0, 0) == -1) { + fclose(fp); + remove(fn); + return PyErr_SetFromErrnoWithFilename(PyExc_IOError, fn); + } while (1) { char buf[BUFSIZ]; Py_ssize_t n = fread(buf, 1, BUFSIZ, fp); @@ -2293,7 +2297,11 @@ return PyErr_SetFromErrnoWithFilename(PyExc_IOError, fn); } Py_DECREF(data); - fseek(fp, 0, 0); + if (fseek(fp, 0, 0) == -1) { + fclose(fp); + remove(fn); + return PyErr_SetFromErrnoWithFilename(PyExc_IOError, fn); + } win = getwin(fp); fclose(fp); remove(fn);