summaryrefslogtreecommitdiff
path: root/plugins/yaml/python/reader.c
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/yaml/python/reader.c')
-rw-r--r--plugins/yaml/python/reader.c16
1 files changed, 12 insertions, 4 deletions
diff --git a/plugins/yaml/python/reader.c b/plugins/yaml/python/reader.c
index 43db6bb..809ece2 100644
--- a/plugins/yaml/python/reader.c
+++ b/plugins/yaml/python/reader.c
@@ -208,7 +208,8 @@ static PyObject *py_yaml_reader_get_lines(PyObject *self, void *closure)
}
- free(lines);
+ if (lines != NULL)
+ free(lines);
return result;
@@ -244,9 +245,16 @@ static PyObject *py_yaml_reader_get_tree(PyObject *self, void *closure)
tree = g_yaml_reader_get_tree(reader);
- result = pygobject_new(G_OBJECT(tree));
-
- g_object_unref(G_OBJECT(tree));
+ if (tree == NULL)
+ {
+ result = Py_None;
+ Py_INCREF(result);
+ }
+ else
+ {
+ result = pygobject_new(G_OBJECT(tree));
+ g_object_unref(G_OBJECT(tree));
+ }
return result;