RFR: 8284680: sun.font.FontConfigManager.getFontConfig() leaks charset

Zhengyu Gu zgu at openjdk.java.net
Mon May 9 19:45:49 UTC 2022


On Wed, 4 May 2022 01:39:49 GMT, Andrew John Hughes <andrew at openjdk.org> wrote:

> > > 
> > 
> > 
> > Hmmm, you are right. Phil probably pointed out the same problem, but I misunderstood it.
> > What's odd is that, I tested (made sure that `FcCharSetDestroy` indeed called), it did not crash and `valgrind` showed the leak site disappeared.
> > With your suggested fix, I think we still leak last `unionCharset`. BTW, the API documentation is really unhelpful, Sigh!
> 
> That's fixed by your addition at the end, right?
> 
> I assumed the final unionCharset was used for something, but it never seems to actually be read, just continually added to and then drops out of scope.

`                if ((*FcCharSetSubtractCount)(charset, unionCharset)
                    > minGlyphs) {
`
Seems this is the only use of unionCharset.

> 
> It may also need to be freed in the `if (result != FcResultMatch) {` block which frees everything else and returns from within the inner loop.

Right, updated.

-------------

PR: https://git.openjdk.java.net/jdk/pull/8187



More information about the client-libs-dev mailing list