diff --git a/build/rpmfc.c b/build/rpmfc.c
index e798950..94089e5 100644
--- a/build/rpmfc.c
+++ b/build/rpmfc.c
@@ -760,6 +760,7 @@ rpmfc rpmfcCreate(const char *buildRoot, rpmFlags flags)
fc->buildRoot = xstrdup(buildRoot);
fc->brlen = strlen(buildRoot);
}
+ fc->pkg = xcalloc(1, sizeof(*fc->pkg));
fc->pool = rpmstrPoolCreate();
return fc;
}
@@ -1263,6 +1264,7 @@ rpmRC rpmfcGenerateDepends(const rpmSpec spec, Package pkg)
av[ac] = NULL;
fc = rpmfcCreate(spec->buildRoot, 0);
+ free(fc->pkg); /* XXX HACK */
fc->pkg = pkg;
fc->skipProv = !pkg->autoProv;
fc->skipReq = !pkg->autoReq;
@@ -1337,6 +1339,8 @@ exit:
/* Clean up. */
free(fmode);
+ if (fc)
+ fc->pkg = NULL; /* XXX HACK */
rpmfcFree(fc);
argvFree(av);
rpmfiFree(fi);