diff -urN rpm-4.2.1-old/python/rpmts-py.c rpm-4.2.1/python/rpmts-py.c
--- rpm-4.2.1-old/python/rpmts-py.c	2004-04-23 10:26:48.000000000 -0400
+++ rpm-4.2.1/python/rpmts-py.c	2004-04-23 13:05:43.000000000 -0400
@@ -1146,9 +1146,13 @@
 
     if (rc < 0) {
 	list = PyList_New(0);
+	PyObject * prob = Py_BuildValue("s", "One or more rpm scripts failed.");
+	PyList_Append(list, prob);
+        ps = rpmpsFree(ps);
 	return list;
-    } else if (!rc) {
+    } else if (rc == 0) {
 	Py_INCREF(Py_None);
+        ps = rpmpsFree(ps);
 	return Py_None;
     }
 
