Fix memory leak on packages with no files

- Leak introduced in commit 9bf578376d
  due to change in init sequence, rpmfnInit() needs to be passed a pool
  so we need to ensure one exists before calling it. Previously
  pool was allocated/referenced lazily only on packages with files, and
  rpmfilesFree() assumed that behavior.
This commit is contained in:
Panu Matilainen 2013-11-26 11:25:12 +02:00
parent d39c96c0c1
commit 8f73ddd81f
1 changed files with 1 additions and 2 deletions

View File

@ -1091,8 +1091,6 @@ rpmfiles rpmfilesFree(rpmfiles fi)
fi->fstates = _free(fi->fstates);
fi->fps = _free(fi->fps);
fi->pool = rpmstrPoolFree(fi->pool);
/* these point to header memory if KEEPHEADER is used, dont free */
if (!(fi->fiflags & RPMFI_KEEPHEADER) && fi->h == NULL) {
fi->fmtimes = _free(fi->fmtimes);
@ -1117,6 +1115,7 @@ rpmfiles rpmfilesFree(rpmfiles fi)
fi->replacedLSizes = _free(fi->replacedLSizes);
fi->h = headerFree(fi->h);
fi->pool = rpmstrPoolFree(fi->pool);
fi->nlinks = nlinkHashFree(fi->nlinks);