diff options
author | Neal Norwitz <nnorwitz@gmail.com> | 2006-04-10 06:42:25 (GMT) |
---|---|---|
committer | Neal Norwitz <nnorwitz@gmail.com> | 2006-04-10 06:42:25 (GMT) |
commit | 2c4e4f98397bcc591ad3a551e1e57cea0e2bd986 (patch) | |
tree | f200b67e22e157d409945e29f400e9766eb61beb /Parser/pgenmain.c | |
parent | 65c05b20e97a493b917fa71f10535512c713c662 (diff) | |
download | cpython-2c4e4f98397bcc591ad3a551e1e57cea0e2bd986.zip cpython-2c4e4f98397bcc591ad3a551e1e57cea0e2bd986.tar.gz cpython-2c4e4f98397bcc591ad3a551e1e57cea0e2bd986.tar.bz2 |
SF patch #1467512, fix double free with triple quoted string in standard build.
This was the result of inconsistent use of PyMem_* and PyObject_* allocators.
By changing to use PyObject_* allocator almost everywhere, this removes
the inconsistency.
Diffstat (limited to 'Parser/pgenmain.c')
-rw-r--r-- | Parser/pgenmain.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/Parser/pgenmain.c b/Parser/pgenmain.c index 695e2b7..6d8469f 100644 --- a/Parser/pgenmain.c +++ b/Parser/pgenmain.c @@ -104,7 +104,7 @@ getgrammar(char *filename) putc(' ', stderr); } fprintf(stderr, "^\n"); - PyMem_DEL(err.text); + PyObject_FREE(err.text); } Py_Exit(1); } @@ -136,7 +136,7 @@ char * PyOS_Readline(FILE *sys_stdin, FILE *sys_stdout, char *prompt) { size_t n = 1000; - char *p = PyMem_MALLOC(n); + char *p = PyObject_MALLOC(n); char *q; if (p == NULL) return NULL; @@ -149,7 +149,7 @@ PyOS_Readline(FILE *sys_stdin, FILE *sys_stdout, char *prompt) n = strlen(p); if (n > 0 && p[n-1] != '\n') p[n-1] = '\n'; - return PyMem_REALLOC(p, n+1); + return PyObject_REALLOC(p, n+1); } /* No-nonsense fgets */ |