Blob Blame History Raw
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);