Index: rpmio/rpmlog.c
--- rpmio/rpmlog.c.orig	2008-01-05 10:40:11 +0100
+++ rpmio/rpmlog.c	2008-12-17 13:07:17 +0100
@@ -262,8 +262,7 @@
 	    recs = xrealloc(recs, (nrecs+2) * sizeof(*recs));
 	recs[nrecs].code = rec.code;
 	recs[nrecs].pri = rec.pri;
-	recs[nrecs].message = xrealloc(msgbuf, strlen(msgbuf)+1);
-	msgbuf = NULL;		/* XXX don't free at exit. */
+	recs[nrecs].message = xstrdup(msgbuf);
 	recs[nrecs+1].code = 0;
 	recs[nrecs].pri = 0;
 	recs[nrecs+1].message = NULL;
