Date: Thu, 16 Jun 2016 06:24:34 +0000 (UTC) From: Greg Lewis <glewis@FreeBSD.org> To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r416952 - in head/java/openjdk8: . files Message-ID: <201606160624.u5G6OYjG021023@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: glewis Date: Thu Jun 16 06:24:34 2016 New Revision: 416952 URL: https://svnweb.freebsd.org/changeset/ports/416952 Log: . Fix a double free bug. This is pulled from upstream. . Bump PORTREVISION. PR: 210226 Submitted by: girgen@ Added: head/java/openjdk8/files/patch-jdk-src-share-native-sun-font-freetypeScaler.c (contents, props changed) Modified: head/java/openjdk8/Makefile Modified: head/java/openjdk8/Makefile ============================================================================== --- head/java/openjdk8/Makefile Thu Jun 16 06:00:06 2016 (r416951) +++ head/java/openjdk8/Makefile Thu Jun 16 06:24:34 2016 (r416952) @@ -2,7 +2,7 @@ PORTNAME= openjdk PORTVERSION= ${JDK_MAJOR_VERSION}.${JDK_UPDATE_VERSION}.${JDK_BUILD_NUMBER:S/^0//} -PORTREVISION= 2 +PORTREVISION= 3 CATEGORIES= java devel MASTER_SITES= http://download.java.net/openjdk/jdk${JDK_MAJOR_VERSION}/promoted/b${DIST_BUILD_NUMBER}/:jdk \ https://adopt-openjdk.ci.cloudbees.com/job/jtreg/${JTREG_JENKINS_BUILD}/artifact/:jtreg \ Added: head/java/openjdk8/files/patch-jdk-src-share-native-sun-font-freetypeScaler.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/java/openjdk8/files/patch-jdk-src-share-native-sun-font-freetypeScaler.c Thu Jun 16 06:24:34 2016 (r416952) @@ -0,0 +1,52 @@ +--- jdk/src/share/native/sun/font/freetypeScaler.c ++++ jdk/src/share/native/sun/font/freetypeScaler.c +@@ -60,6 +60,7 @@ + JNIEnv* env; + FT_Library library; + FT_Face face; ++ FT_Stream faceStream; + jobject font2D; + jobject directBuffer; + +@@ -107,15 +108,10 @@ + if (scalerInfo == NULL) + return; + +- //apparently Done_Face will only close the stream +- // but will not relase the memory of stream structure. +- // We need to free it explicitly to avoid leak. +- //Direct access to the stream field might be not ideal solution as +- // it is considred to be "private". +- //Alternatively we could have stored pointer to the structure +- // in the scalerInfo but this will increase size of the structure +- // for no good reason +- stream = scalerInfo->face->stream; ++ // FT_Done_Face always closes the stream, but only frees the memory ++ // of the data structure if it was internally allocated by FT. ++ // We hold on to a pointer to the stream structure if we provide it ++ // ourselves, so that we can free it here. + + FT_Done_Face(scalerInfo->face); + FT_Done_FreeType(scalerInfo->library); +@@ -128,8 +124,8 @@ + free(scalerInfo->fontData); + } + +- if (stream != NULL) { +- free(stream); ++ if (scalerInfo->faceStream != NULL) { ++ free(scalerInfo->faceStream); + } + + free(scalerInfo); +@@ -302,6 +298,10 @@ + &ft_open_args, + indexInCollection, + &scalerInfo->face); ++ ++ if (!error) { ++ scalerInfo->faceStream = ftstream; ++ } + } + if (error || scalerInfo->directBuffer == NULL) { + free(ftstream);
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201606160624.u5G6OYjG021023>