"A vulnerability exists in the function `Load_SBit_Png`, which processes PNG images embedded into fonts. This function:
1) Obtains the image width and height from the header as 32-bit integers.
2) Truncates the obtained values to 16 bit and stores them in a `TT_SBit_Metrics` structure.
3) Uses the truncated values to calculate the bitmap size.
4) Allocates the backing store of that size.
5) Passes `png_struct` and the backing store to a libpng function.
The issue is that libpng uses the original 32-bit values, which are saved in `png_struct`. Therefore, if the original width and/or height are greater than 65535, the allocated buffer won't be able to fit the bitmap."
This one could only happen in an memory unsafe programming language. Having bounds checks on the destination buffer would have avoided the problem.