chiark / gitweb /
*.c: Be more careful about `PySequence_Size'.
authorMark Wooding <mdw@distorted.org.uk>
Sun, 24 Nov 2019 16:36:24 +0000 (16:36 +0000)
committerMark Wooding <mdw@distorted.org.uk>
Wed, 27 Nov 2019 15:10:44 +0000 (15:10 +0000)
This can be implemented by Python, so it can throw exceptions.
Fortunately, Python checks that the result is nonnegative, so we don't
have to worry about that.

catacomb.c

index daa404a4e29620dc748442d580c765468c3295dc..e24e5ec9f47e033f27129b1b002da90a2b68c273 100644 (file)
@@ -76,7 +76,8 @@ PyObject *mexp_common(PyObject *me, PyObject *arg,
     arg = PyTuple_GetItem(arg, 0);
   Py_INCREF(arg);
   if (!PySequence_Check(arg)) TYERR("not a sequence");
-  n = PySequence_Size(arg); if (!n) { z = id(me); goto end; }
+  n = PySequence_Size(arg); if (n < 0) goto end;
+  if (!n) { z = id(me); goto end; }
   x = PySequence_GetItem(arg, 0);
   if (PySequence_Check(x))
     flat = 0;