This issue tracker has been migrated to GitHub ,
and is currently read-only.
For more information,
see the GitHub FAQs in the Python's Developer Guide.
Created on 2020年07月03日 21:47 by blarsen, last changed 2022年04月11日 14:59 by admin. This issue is now closed.
| Pull Requests | |||
|---|---|---|---|
| URL | Status | Linked | Edit |
| PR 21307 | merged | vstinner, 2020年07月03日 23:10 | |
| Messages (4) | |||
|---|---|---|---|
| msg372963 - (view) | Author: Brad Larsen (blarsen) * | Date: 2020年07月03日 21:47 | |
In commit b1cc6ba73 from earlier today, an error-handling path can now read an uninitialized variable. https://github.com/python/cpython/commit/b1cc6ba73a51d5cc3aeb113b5e7378fb50a0e20a#diff-fa7f27df4c8df1055048e78340f904c4R695-R697 In particular, asdl_c.py is used to generate C source, and when building that code with Clang 10, there is the attached warning. Likely fix: initialize `fields` to `NULL`. Also, perhaps a CI loop that has `-Werror=sometimes-uninitialized` would help detect these. Compiler warning: Python/Python-ast.c:1147:9: warning: variable 'fields' is used uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized] if (state == NULL) { ^~~~~~~~~~~~~ Python/Python-ast.c:1210:16: note: uninitialized use occurs here Py_XDECREF(fields); ^~~~~~ ./Include/object.h:520:51: note: expanded from macro 'Py_XDECREF' #define Py_XDECREF(op) _Py_XDECREF(_PyObject_CAST(op)) ^~ ./Include/object.h:112:41: note: expanded from macro '_PyObject_CAST' #define _PyObject_CAST(op) ((PyObject*)(op)) ^~ Python/Python-ast.c:1147:5: note: remove the 'if' if its condition is always false if (state == NULL) { ^~~~~~~~~~~~~~~~~~~~ Python/Python-ast.c:1145:35: note: initialize the variable 'fields' to silence this warning PyObject *key, *value, *fields; ^ = NULL 1 warning generated. |
|||
| msg372997 - (view) | Author: STINNER Victor (vstinner) * (Python committer) | Date: 2020年07月04日 21:18 | |
New changeset 1f76453173267887ed05bb3783e862cb22365ae8 by Victor Stinner in branch 'master': bpo-41204: Fix compiler warning in ast_type_init() (GH-21307) https://github.com/python/cpython/commit/1f76453173267887ed05bb3783e862cb22365ae8 |
|||
| msg372998 - (view) | Author: STINNER Victor (vstinner) * (Python committer) | Date: 2020年07月04日 21:21 | |
Thanks for the report, it's not fixed. |
|||
| msg375115 - (view) | Author: STINNER Victor (vstinner) * (Python committer) | Date: 2020年08月10日 13:56 | |
New changeset d2bea2636d5f0c2b196966315790af8e79c7bf82 by Victor Stinner in branch '3.9': [3.9] bpo-41194: Convert _ast extension to PEP 489 (GH-21807) https://github.com/python/cpython/commit/d2bea2636d5f0c2b196966315790af8e79c7bf82 |
|||
| History | |||
|---|---|---|---|
| Date | User | Action | Args |
| 2022年04月11日 14:59:33 | admin | set | github: 85376 |
| 2020年08月10日 13:56:02 | vstinner | set | messages: + msg375115 |
| 2020年07月04日 21:21:07 | vstinner | set | status: open -> closed resolution: fixed messages: + msg372998 stage: patch review -> resolved |
| 2020年07月04日 21:18:22 | vstinner | set | messages: + msg372997 |
| 2020年07月04日 14:55:52 | BTaskaya | set | nosy:
+ BTaskaya |
| 2020年07月03日 23:10:05 | vstinner | set | keywords:
+ patch stage: patch review pull_requests: + pull_request20459 |
| 2020年07月03日 21:47:00 | blarsen | create | |