Commit 0cab0b26 authored by Victor Stinner's avatar Victor Stinner

Issue #16742: My fix on PyOS_StdioReadline() was incomplete, PyMem_FREE() was

not patched
parent faba8344
...@@ -140,13 +140,13 @@ PyOS_StdioReadline(FILE *sys_stdin, FILE *sys_stdout, char *prompt) ...@@ -140,13 +140,13 @@ PyOS_StdioReadline(FILE *sys_stdin, FILE *sys_stdout, char *prompt)
while (n > 0 && p[n-1] != '\n') { while (n > 0 && p[n-1] != '\n') {
size_t incr = n+2; size_t incr = n+2;
if (incr > INT_MAX) { if (incr > INT_MAX) {
PyMem_FREE(p); PyMem_RawFree(p);
PyErr_SetString(PyExc_OverflowError, "input line too long"); PyErr_SetString(PyExc_OverflowError, "input line too long");
return NULL; return NULL;
} }
pr = (char *)PyMem_RawRealloc(p, n + incr); pr = (char *)PyMem_RawRealloc(p, n + incr);
if (pr == NULL) { if (pr == NULL) {
PyMem_FREE(p); PyMem_RawFree(p);
PyErr_NoMemory(); PyErr_NoMemory();
return NULL; return NULL;
} }
...@@ -157,7 +157,7 @@ PyOS_StdioReadline(FILE *sys_stdin, FILE *sys_stdout, char *prompt) ...@@ -157,7 +157,7 @@ PyOS_StdioReadline(FILE *sys_stdin, FILE *sys_stdout, char *prompt)
} }
pr = (char *)PyMem_RawRealloc(p, n+1); pr = (char *)PyMem_RawRealloc(p, n+1);
if (pr == NULL) { if (pr == NULL) {
PyMem_FREE(p); PyMem_RawFree(p);
PyErr_NoMemory(); PyErr_NoMemory();
return NULL; return NULL;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment