summaryrefslogtreecommitdiffstats
path: root/Parser/tokenizer.c
diff options
context:
space:
mode:
authorSerhiy Storchaka <storchaka@gmail.com>2015-12-24 08:35:59 (GMT)
committerSerhiy Storchaka <storchaka@gmail.com>2015-12-24 08:35:59 (GMT)
commit5a57ade58ec5bee85db41b8ce1340ff077781b65 (patch)
tree2f8cf61efba46284b2d4437916bc3469d23c0ce3 /Parser/tokenizer.c
parenta198645fa0f9a9c6183c211955083765dc8ab3a8 (diff)
downloadcpython-5a57ade58ec5bee85db41b8ce1340ff077781b65.zip
cpython-5a57ade58ec5bee85db41b8ce1340ff077781b65.tar.gz
cpython-5a57ade58ec5bee85db41b8ce1340ff077781b65.tar.bz2
Issue #20440: Massive replacing unsafe attribute setting code with special
macro Py_SETREF.
Diffstat (limited to 'Parser/tokenizer.c')
-rw-r--r--Parser/tokenizer.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/Parser/tokenizer.c b/Parser/tokenizer.c
index 6a528db..1cdbae2 100644
--- a/Parser/tokenizer.c
+++ b/Parser/tokenizer.c
@@ -524,9 +524,8 @@ fp_setreadl(struct tok_state *tok, const char* enc)
if (stream == NULL)
goto cleanup;
- Py_XDECREF(tok->decoding_readline);
readline = _PyObject_GetAttrId(stream, &PyId_readline);
- tok->decoding_readline = readline;
+ Py_SETREF(tok->decoding_readline, readline);
if (pos > 0) {
if (PyObject_CallObject(readline, NULL) == NULL) {
readline = NULL;