+2017-02-10  Tom Tromey  <tom@tromey.com>
+
+       * python/py-prettyprint.c (pretty_print_one_value): Use
+       gdbpy_ref.
+
 2017-02-10  Tom Tromey  <tom@tromey.com>
 
        * python/py-cmd.c (cmdpy_destroyer): Use gdbpy_ref.
 
 static PyObject *
 pretty_print_one_value (PyObject *printer, struct value **out_value)
 {
-  PyObject *result = NULL;
+  gdbpy_ref<> result;
 
   *out_value = NULL;
   TRY
     {
-      result = PyObject_CallMethodObjArgs (printer, gdbpy_to_string_cst, NULL);
-      if (result)
+      result.reset (PyObject_CallMethodObjArgs (printer, gdbpy_to_string_cst,
+                                               NULL));
+      if (result != NULL)
        {
-         if (! gdbpy_is_string (result) && ! gdbpy_is_lazy_string (result)
+         if (! gdbpy_is_string (result.get ())
+             && ! gdbpy_is_lazy_string (result.get ())
              && result != Py_None)
            {
-             *out_value = convert_value_from_python (result);
+             *out_value = convert_value_from_python (result.get ());
              if (PyErr_Occurred ())
                *out_value = NULL;
-             Py_DECREF (result);
              result = NULL;
            }
        }
     }
   END_CATCH
 
-  return result;
+  return result.release ();
 }
 
 /* Return the display hint for the object printer, PRINTER.  Return