summaryrefslogtreecommitdiffstats
path: root/Modules/_pickle.c
diff options
context:
space:
mode:
authorVictor Stinner <victor.stinner@gmail.com>2013-07-07 21:30:24 (GMT)
committerVictor Stinner <victor.stinner@gmail.com>2013-07-07 21:30:24 (GMT)
commit49fc8ece8172162510890f42127d2aa4e13f878b (patch)
tree798c7555b232e40e607ec1b01cec87687515cf57 /Modules/_pickle.c
parent6f8eeee7b9cae7e3f899c89baefe9acc575f2fb5 (diff)
downloadcpython-49fc8ece8172162510890f42127d2aa4e13f878b.zip
cpython-49fc8ece8172162510890f42127d2aa4e13f878b.tar.gz
cpython-49fc8ece8172162510890f42127d2aa4e13f878b.tar.bz2
Issue #18203: Add _PyMem_RawStrdup() and _PyMem_Strdup()
Replace strdup() with _PyMem_RawStrdup() or _PyMem_Strdup(), depending if the GIL is held or not.
Diffstat (limited to 'Modules/_pickle.c')
-rw-r--r--Modules/_pickle.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/Modules/_pickle.c b/Modules/_pickle.c
index 5b30931..72bd7fc 100644
--- a/Modules/_pickle.c
+++ b/Modules/_pickle.c
@@ -1213,8 +1213,8 @@ _Unpickler_SetInputEncoding(UnpicklerObject *self,
if (errors == NULL)
errors = "strict";
- self->encoding = strdup(encoding);
- self->errors = strdup(errors);
+ self->encoding = _PyMem_Strdup(encoding);
+ self->errors = _PyMem_Strdup(errors);
if (self->encoding == NULL || self->errors == NULL) {
PyErr_NoMemory();
return -1;
@@ -5590,8 +5590,8 @@ Unpickler_dealloc(UnpicklerObject *self)
_Unpickler_MemoCleanup(self);
PyMem_Free(self->marks);
PyMem_Free(self->input_line);
- free(self->encoding);
- free(self->errors);
+ PyMem_Free(self->encoding);
+ PyMem_Free(self->errors);
Py_TYPE(self)->tp_free((PyObject *)self);
}
@@ -5627,9 +5627,9 @@ Unpickler_clear(UnpicklerObject *self)
self->marks = NULL;
PyMem_Free(self->input_line);
self->input_line = NULL;
- free(self->encoding);
+ PyMem_Free(self->encoding);
self->encoding = NULL;
- free(self->errors);
+ PyMem_Free(self->errors);
self->errors = NULL;
return 0;