---- rpm-4.4.8/rpmio/macro.c.orig 2007-01-21 21:37:58.000000000 +0100
-+++ rpm-4.4.8/rpmio/macro.c 2007-04-08 19:50:49.214644921 +0200
-@@ -942,7 +942,8 @@
- /*@globals rpmGlobalMacroContext @*/
- /*@modifies mb, rpmGlobalMacroContext @*/
- {
-- char buf[BUFSIZ], *b, *be;
-+ static char buf[BUFSIZ];
-+ char *b, *be;
- char aname[16];
- const char *opts, *o;
- int argc = 0;
-@@ -1850,7 +1851,7 @@
- return 0;
- if (mc == NULL) mc = rpmGlobalMacroContext;
-
-- tbuf = alloca(slen + 1);
-+ tbuf = xmalloc(slen + 1);
- memset(tbuf, 0, (slen + 1));
-
- mb->s = sbuf;
-@@ -1870,6 +1871,7 @@
- rpmError(RPMERR_BADSPEC, _("Macro expansion too big for target buffer\n"));
- else
- strncpy(sbuf, tbuf, (slen - mb->nb + 1));
-+ free(tbuf);
-
- return rc;
- }
-@@ -2308,7 +2310,7 @@
- const char *
- rpmGetPath(const char *path, ...)
- {
-- char buf[BUFSIZ];
-+ static char buf[BUFSIZ];
- const char * s;
- char * t, * te;
- va_list ap;