[OpenJDK 2D-Dev] RFR: JDK-8260432: allocateSpaceForGP in freetypeScaler.c might leak memory
Aleksey Shipilev
shade at openjdk.java.net
Wed Jan 27 11:45:43 UTC 2021
On Wed, 27 Jan 2021 08:39:33 GMT, Matthias Baesken <mbaesken at openjdk.org> wrote:
> The function AllocateSpaceForGP in freetypeScaler.c calls potentially 2 times malloc ; however the memory is not always freed correctly in case of errors.
> See also the related sonar issue :
> https://sonarcloud.io/project/issues?id=shipilev_jdk&languages=c&open=AXck8B_SBBG2CXpcngxr&resolved=false&severities=BLOCKER&types=BUG
Changes requested by shade (Reviewer).
src/java.desktop/share/native/libfontmanager/freetypeScaler.c line 1290:
> 1288:
> 1289: /* failure if any of mallocs failed */
> 1290: if (gpdata->pointTypes == NULL || gpdata->pointCoords == NULL)
I think it would be cleaner to free the remaining allocations on the failing path:
if (gpdata->pointTypes == NULL || gpdata->pointCoords == NULL) {
if (gpdata->pointTypes != NULL) free(gpdata->pointTypes);
if (gpdata->pointCoords != NULL) free(gpdata->pointCoords);
return 0;
} else {
return 1;
}
-------------
PR: https://git.openjdk.java.net/jdk/pull/2250
More information about the 2d-dev
mailing list