Skip to content

Commit 3368d3b

Browse files
committed
Revert "WIP: remove the use of the _PyArg_CheckPositional private API"
This reverts commit dc4442d.
1 parent 7d07ee1 commit 3368d3b

File tree

2 files changed

+20
-0
lines changed

2 files changed

+20
-0
lines changed

src/JSArrayProxy.cc

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -789,6 +789,10 @@ PyObject *JSArrayProxyMethodDefinitions::JSArrayProxy_insert(JSArrayProxy *self,
789789
Py_ssize_t index;
790790
PyObject *value;
791791

792+
if (!_PyArg_CheckPositional("insert", nargs, 2, 2)) {
793+
return NULL;
794+
}
795+
792796
{
793797
Py_ssize_t ival = -1;
794798
PyObject *iobj = PyNumber_Index(args[0]);
@@ -895,6 +899,10 @@ PyObject *JSArrayProxyMethodDefinitions::JSArrayProxy_extend(JSArrayProxy *self,
895899
PyObject *JSArrayProxyMethodDefinitions::JSArrayProxy_pop(JSArrayProxy *self, PyObject *const *args, Py_ssize_t nargs) {
896900
Py_ssize_t index = -1;
897901

902+
if (!_PyArg_CheckPositional("pop", nargs, 0, 1)) {
903+
return NULL;
904+
}
905+
898906
if (nargs >= 1) {
899907
Py_ssize_t ival = -1;
900908
PyObject *iobj = PyNumber_Index(args[0]);
@@ -979,6 +987,9 @@ PyObject *JSArrayProxyMethodDefinitions::JSArrayProxy_index(JSArrayProxy *self,
979987
Py_ssize_t start = 0;
980988
Py_ssize_t stop = PY_SSIZE_T_MAX;
981989

990+
if (!_PyArg_CheckPositional("index", nargs, 1, 3)) {
991+
return NULL;
992+
}
982993
value = args[0];
983994
if (nargs < 2) {
984995
goto skip_optional;

src/JSObjectProxy.cc

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -623,6 +623,9 @@ PyObject *JSObjectProxyMethodDefinitions::JSObjectProxy_get_method(JSObjectProxy
623623
PyObject *key;
624624
PyObject *default_value = Py_None;
625625

626+
if (!_PyArg_CheckPositional("get", nargs, 1, 2)) {
627+
return NULL;
628+
}
626629
key = args[0];
627630
if (nargs < 2) {
628631
goto skip_optional;
@@ -644,6 +647,9 @@ PyObject *JSObjectProxyMethodDefinitions::JSObjectProxy_setdefault_method(JSObje
644647
PyObject *key;
645648
PyObject *default_value = Py_None;
646649

650+
if (!_PyArg_CheckPositional("setdefault", nargs, 1, 2)) {
651+
return NULL;
652+
}
647653
key = args[0];
648654
if (nargs < 2) {
649655
goto skip_optional;
@@ -673,6 +679,9 @@ PyObject *JSObjectProxyMethodDefinitions::JSObjectProxy_pop_method(JSObjectProxy
673679
PyObject *key;
674680
PyObject *default_value = NULL;
675681

682+
if (!_PyArg_CheckPositional("pop", nargs, 1, 2)) {
683+
return NULL;
684+
}
676685
key = args[0];
677686
if (nargs < 2) {
678687
goto skip_optional;

0 commit comments

Comments
 (0)