diff options
| author | kr.angelov <kr.angelov@gmail.com> | 2013-05-07 08:35:33 +0000 |
|---|---|---|
| committer | kr.angelov <kr.angelov@gmail.com> | 2013-05-07 08:35:33 +0000 |
| commit | 517b8ff1eef6a860e615d690f2cd1f2ba01464fd (patch) | |
| tree | 7639761bf616b35bac26e4d2c1b26c66c3e5dac3 | |
| parent | 687b326ed0ec67bd597c8e639e1f1e468622d26f (diff) | |
bugfix for bracketedLinearize which was causing crash if the tree cannot be linearized
| -rw-r--r-- | src/runtime/python/pypgf.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/runtime/python/pypgf.c b/src/runtime/python/pypgf.c index de5ead10f..1e11edcb5 100644 --- a/src/runtime/python/pypgf.c +++ b/src/runtime/python/pypgf.c @@ -1171,8 +1171,14 @@ Concr_bracketedLinearize(ConcrObject* self, PyObject *args) gu_pool_free(tmp_pool); - PyObject* bracket = PyList_GetItem(list, 0); - Py_INCREF(bracket); + PyObject* bracket = NULL; + if (PyList_Size(list) == 1) { + bracket = PyList_GetItem(list, 0); + Py_INCREF(bracket); + } else { + PyErr_SetString(PGFError, "The abstract tree cannot be linearized"); + } + Py_DECREF(list); return bracket; |
