From 517b8ff1eef6a860e615d690f2cd1f2ba01464fd Mon Sep 17 00:00:00 2001 From: "kr.angelov" Date: Tue, 7 May 2013 08:35:33 +0000 Subject: [PATCH] bugfix for bracketedLinearize which was causing crash if the tree cannot be linearized --- src/runtime/python/pypgf.c | 10 ++++++++-- 1 file 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;