On Wed, 27 Jan 2021 08:39:33 GMT, Matthias Baesken <mbaes...@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

Reply via email to