Fixed bugs noted by Greg Stein
* x wasn't initialized to NULL
* Did not DECREF result from displayhook function
diff --git a/Python/ceval.c b/Python/ceval.c
index 8012b83..347a541 100644
--- a/Python/ceval.c
+++ b/Python/ceval.c
@@ -1250,6 +1250,7 @@
 				PyErr_SetString(PyExc_RuntimeError,
 						"lost sys.displayhook");
 				err = -1;
+				x = NULL;
 			}
 			if (err == 0) {
 				x = Py_BuildValue("(O)", v);
@@ -1258,6 +1259,7 @@
 			}
 			if (err == 0) {
 				w = PyEval_CallObject(w, x);
+				Py_XDECREF(w);
 				if (w == NULL)
 					err = -1;
 			}