Skip to content

Commit 4b97d97

Browse files
authored
bpo-45476: Disallow using asdl_seq_GET() as l-value (GH-29866)
The following internal macros can not longer be used as l-value: * asdl_seq_GET() * asdl_seq_GET_UNTYPED() * asdl_seq_LEN() They are modified to use the _Py_RVALUE() macro.
1 parent c19c3a0 commit 4b97d97

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

Include/internal/pycore_asdl.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -78,9 +78,9 @@ asdl_ ## NAME ## _seq *_Py_asdl_ ## NAME ## _seq_new(Py_ssize_t size, PyArena *a
7878
return seq; \
7979
}
8080

81-
#define asdl_seq_GET_UNTYPED(S, I) (S)->elements[(I)]
82-
#define asdl_seq_GET(S, I) (S)->typed_elements[(I)]
83-
#define asdl_seq_LEN(S) ((S) == NULL ? 0 : (S)->size)
81+
#define asdl_seq_GET_UNTYPED(S, I) _Py_RVALUE((S)->elements[(I)])
82+
#define asdl_seq_GET(S, I) _Py_RVALUE((S)->typed_elements[(I)])
83+
#define asdl_seq_LEN(S) _Py_RVALUE(((S) == NULL ? 0 : (S)->size))
8484

8585
#ifdef Py_DEBUG
8686
# define asdl_seq_SET(S, I, V) \

0 commit comments

Comments
 (0)