Commit b6b440e6 authored by Robert Bradshaw's avatar Robert Bradshaw

use plain malloc/free in freezing code

parent a841345b
...@@ -2579,7 +2579,7 @@ __Pyx_char2wchar(char* arg) ...@@ -2579,7 +2579,7 @@ __Pyx_char2wchar(char* arg)
mbstate_t mbs; mbstate_t mbs;
#endif #endif
if (argsize != (size_t)-1) { if (argsize != (size_t)-1) {
res = (wchar_t *)PyMem_Malloc((argsize+1)*sizeof(wchar_t)); res = (wchar_t *)malloc((argsize+1)*sizeof(wchar_t));
if (!res) if (!res)
goto oom; goto oom;
count = mbstowcs(res, arg, argsize+1); count = mbstowcs(res, arg, argsize+1);
...@@ -2593,7 +2593,7 @@ __Pyx_char2wchar(char* arg) ...@@ -2593,7 +2593,7 @@ __Pyx_char2wchar(char* arg)
if (*tmp == 0) if (*tmp == 0)
return res; return res;
} }
PyMem_Free(res); free(res);
} }
/* Conversion failed. Fall back to escaping with surrogateescape. */ /* Conversion failed. Fall back to escaping with surrogateescape. */
#ifdef HAVE_MBRTOWC #ifdef HAVE_MBRTOWC
...@@ -2602,7 +2602,7 @@ __Pyx_char2wchar(char* arg) ...@@ -2602,7 +2602,7 @@ __Pyx_char2wchar(char* arg)
/* Overallocate; as multi-byte characters are in the argument, the /* Overallocate; as multi-byte characters are in the argument, the
actual output could use less memory. */ actual output could use less memory. */
argsize = strlen(arg) + 1; argsize = strlen(arg) + 1;
res = PyMem_Malloc(argsize*sizeof(wchar_t)); res = malloc(argsize*sizeof(wchar_t));
if (!res) goto oom; if (!res) goto oom;
in = (unsigned char*)arg; in = (unsigned char*)arg;
out = res; out = res;
...@@ -2645,7 +2645,7 @@ __Pyx_char2wchar(char* arg) ...@@ -2645,7 +2645,7 @@ __Pyx_char2wchar(char* arg)
/* Cannot use C locale for escaping; manually escape as if charset /* Cannot use C locale for escaping; manually escape as if charset
is ASCII (i.e. escape all bytes > 128. This will still roundtrip is ASCII (i.e. escape all bytes > 128. This will still roundtrip
correctly in the locale's charset, which must be an ASCII superset. */ correctly in the locale's charset, which must be an ASCII superset. */
res = PyMem_Malloc((strlen(arg)+1)*sizeof(wchar_t)); res = malloc((strlen(arg)+1)*sizeof(wchar_t));
if (!res) goto oom; if (!res) goto oom;
in = (unsigned char*)arg; in = (unsigned char*)arg;
out = res; out = res;
...@@ -2665,9 +2665,9 @@ oom: ...@@ -2665,9 +2665,9 @@ oom:
int int
main(int argc, char **argv) main(int argc, char **argv)
{ {
wchar_t **argv_copy = (wchar_t **)PyMem_Malloc(sizeof(wchar_t*)*argc); wchar_t **argv_copy = (wchar_t **)malloc(sizeof(wchar_t*)*argc);
/* We need a second copies, as Python might modify the first one. */ /* We need a second copies, as Python might modify the first one. */
wchar_t **argv_copy2 = (wchar_t **)PyMem_Malloc(sizeof(wchar_t*)*argc); wchar_t **argv_copy2 = (wchar_t **)malloc(sizeof(wchar_t*)*argc);
int i, res; int i, res;
char *oldloc; char *oldloc;
if (!argv_copy || !argv_copy2) { if (!argv_copy || !argv_copy2) {
...@@ -2685,10 +2685,10 @@ main(int argc, char **argv) ...@@ -2685,10 +2685,10 @@ main(int argc, char **argv)
free(oldloc); free(oldloc);
res = __Pyx_main(argc, argv_copy); res = __Pyx_main(argc, argv_copy);
for (i = 0; i < argc; i++) { for (i = 0; i < argc; i++) {
PyMem_Free(argv_copy2[i]); free(argv_copy2[i]);
} }
PyMem_Free(argv_copy); free(argv_copy);
PyMem_Free(argv_copy2); free(argv_copy2);
return res; return res;
} }
#endif #endif
......
...@@ -148,7 +148,7 @@ char2wchar(char* arg) ...@@ -148,7 +148,7 @@ char2wchar(char* arg)
mbstate_t mbs; mbstate_t mbs;
#endif #endif
if (argsize != (size_t)-1) { if (argsize != (size_t)-1) {
res = (wchar_t *)PyMem_Malloc((argsize+1)*sizeof(wchar_t)); res = (wchar_t *)malloc((argsize+1)*sizeof(wchar_t));
if (!res) if (!res)
goto oom; goto oom;
count = mbstowcs(res, arg, argsize+1); count = mbstowcs(res, arg, argsize+1);
...@@ -162,7 +162,7 @@ char2wchar(char* arg) ...@@ -162,7 +162,7 @@ char2wchar(char* arg)
if (*tmp == 0) if (*tmp == 0)
return res; return res;
} }
PyMem_Free(res); free(res);
} }
/* Conversion failed. Fall back to escaping with surrogateescape. */ /* Conversion failed. Fall back to escaping with surrogateescape. */
#ifdef HAVE_MBRTOWC #ifdef HAVE_MBRTOWC
...@@ -171,7 +171,7 @@ char2wchar(char* arg) ...@@ -171,7 +171,7 @@ char2wchar(char* arg)
/* Overallocate; as multi-byte characters are in the argument, the /* Overallocate; as multi-byte characters are in the argument, the
actual output could use less memory. */ actual output could use less memory. */
argsize = strlen(arg) + 1; argsize = strlen(arg) + 1;
res = PyMem_Malloc(argsize*sizeof(wchar_t)); res = malloc(argsize*sizeof(wchar_t));
if (!res) goto oom; if (!res) goto oom;
in = (unsigned char*)arg; in = (unsigned char*)arg;
out = res; out = res;
...@@ -214,7 +214,7 @@ char2wchar(char* arg) ...@@ -214,7 +214,7 @@ char2wchar(char* arg)
/* Cannot use C locale for escaping; manually escape as if charset /* Cannot use C locale for escaping; manually escape as if charset
is ASCII (i.e. escape all bytes > 128. This will still roundtrip is ASCII (i.e. escape all bytes > 128. This will still roundtrip
correctly in the locale's charset, which must be an ASCII superset. */ correctly in the locale's charset, which must be an ASCII superset. */
res = PyMem_Malloc((strlen(arg)+1)*sizeof(wchar_t)); res = malloc((strlen(arg)+1)*sizeof(wchar_t));
if (!res) goto oom; if (!res) goto oom;
in = (unsigned char*)arg; in = (unsigned char*)arg;
out = res; out = res;
...@@ -234,9 +234,9 @@ oom: ...@@ -234,9 +234,9 @@ oom:
int int
main(int argc, char **argv) main(int argc, char **argv)
{ {
wchar_t **argv_copy = (wchar_t **)PyMem_Malloc(sizeof(wchar_t*)*argc); wchar_t **argv_copy = (wchar_t **)malloc(sizeof(wchar_t*)*argc);
/* We need a second copies, as Python might modify the first one. */ /* We need a second copies, as Python might modify the first one. */
wchar_t **argv_copy2 = (wchar_t **)PyMem_Malloc(sizeof(wchar_t*)*argc); wchar_t **argv_copy2 = (wchar_t **)malloc(sizeof(wchar_t*)*argc);
int i, res; int i, res;
char *oldloc; char *oldloc;
if (!argv_copy || !argv_copy2) { if (!argv_copy || !argv_copy2) {
...@@ -254,10 +254,10 @@ main(int argc, char **argv) ...@@ -254,10 +254,10 @@ main(int argc, char **argv)
free(oldloc); free(oldloc);
res = python_main(argc, argv_copy); res = python_main(argc, argv_copy);
for (i = 0; i < argc; i++) { for (i = 0; i < argc; i++) {
PyMem_Free(argv_copy2[i]); free(argv_copy2[i]);
} }
PyMem_Free(argv_copy); free(argv_copy);
PyMem_Free(argv_copy2); free(argv_copy2);
return res; return res;
} }
#endif""" #endif"""
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