[Rpm-maint] [rpm-software-management/rpm] Is it necessary to headerUnlink() headers? (#1072)
notifications at github.com
Fri Feb 14 18:37:49 UTC 2020
I use rpmReadPackageFile() to get RPM headers then use headerGetString() and headerIsSource() during the lifetime of the program. At the end, I call headerFree() on the RPM headers I read in at the beginning but these are not freed because the reference counts are at 67. I see headerUnlink() is not available directly, so I don't know what I'm doing incorrectly. The program itself functions but it's leaking memory at the end.
Do headerGetString() and headerIsSource() increment the reference count? Looking at the lib/ source, I don't see that obviously standing out. I only see headerLink() doing and it's not called from many places.
I've modified my local librpm and have it dumping the Header nrefs count. When I call rpmReadPackageFile(), that reference count becomes 1. At the end of the program when I call headerFree(), it's 67. What is the correct way to read a header and not have the reference count grow? Thanks.
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Rpm-maint