From c8c735b96348ead98a7ddeb25a5eed4912586396 Mon Sep 17 00:00:00 2001 From: Pedro Alves Date: Tue, 21 May 2013 20:53:21 +0000 Subject: py_decref: Don't check for NULL before calling Py_DECREF. The only difference between Py_DECREF and Py_XDECREF is that the latter allows passing in a NULL object, while the former prohibits it. Given that, it's natural to expect the same from py_decref vs py_xdecref. gdb/ 2013-05-21 Pedro Alves * python/py-prettyprint.c (apply_val_pretty_printer): Check whether PRINTER is NULL before installing a Py_DECREF cleanup. * python/py-utils.c (py_decref): Don't check for NULL before calling Py_DECREF. --- gdb/python/py-prettyprint.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'gdb/python/py-prettyprint.c') diff --git a/gdb/python/py-prettyprint.c b/gdb/python/py-prettyprint.c index 8c45cd6..8fa2f42 100644 --- a/gdb/python/py-prettyprint.c +++ b/gdb/python/py-prettyprint.c @@ -735,8 +735,12 @@ apply_val_pretty_printer (struct type *type, const gdb_byte *valaddr, /* Find the constructor. */ printer = find_pretty_printer (val_obj); Py_DECREF (val_obj); + + if (printer == NULL) + goto done; + make_cleanup_py_decref (printer); - if (! printer || printer == Py_None) + if (printer == Py_None) goto done; /* If we are printing a map, we want some special formatting. */ -- cgit v1.1