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:
parent
d39c96c0c1
commit
8f73ddd81f
|
@ -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);
|
||||
|
||||
|
|
Loading…
Reference in New Issue