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);