mirror of
https://git.FreeBSD.org/ports.git
synced 2024-11-20 00:21:35 +00:00
. Fix a double free bug. This is pulled from upstream.
. Bump PORTREVISION. PR: 210226 Submitted by: girgen@
This commit is contained in:
parent
49b208430e
commit
9c0e7d35bc
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=416952
@ -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 \
|
||||
|
@ -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);
|
Loading…
Reference in New Issue
Block a user