diff options
author | ahze <ahze@FreeBSD.org> | 2006-12-16 06:14:33 +0800 |
---|---|---|
committer | ahze <ahze@FreeBSD.org> | 2006-12-16 06:14:33 +0800 |
commit | 010c725af0907a54f07b95669042436edacd666f (patch) | |
tree | 00398f194347f652dc6d20a2f8ee194213a1880e /deskutils/sunbird | |
parent | ef2b155b373ec84567107ff0b6a0204c0101de42 (diff) | |
download | freebsd-ports-gnome-010c725af0907a54f07b95669042436edacd666f.tar.gz freebsd-ports-gnome-010c725af0907a54f07b95669042436edacd666f.tar.zst freebsd-ports-gnome-010c725af0907a54f07b95669042436edacd666f.zip |
Fix a double-free while performing print operations which could trigger a
segmentation fault if malloc debugging was enabled.
Submitted by: marcus
Reported by: dougb
Diffstat (limited to 'deskutils/sunbird')
-rw-r--r-- | deskutils/sunbird/Makefile | 1 | ||||
-rw-r--r-- | deskutils/sunbird/files/patch-gfx_src_ps_nsFontMetricsPS.cpp | 26 |
2 files changed, 27 insertions, 0 deletions
diff --git a/deskutils/sunbird/Makefile b/deskutils/sunbird/Makefile index 25613fddbaaf..6cc961b687cd 100644 --- a/deskutils/sunbird/Makefile +++ b/deskutils/sunbird/Makefile @@ -8,6 +8,7 @@ PORTNAME= sunbird PORTVERSION= 0.3 +PORTREVISION= 1 PORTEPOCH= 1 CATEGORIES= deskutils MASTER_SITES= ${MASTER_SITE_MOZILLA_EXTENDED} diff --git a/deskutils/sunbird/files/patch-gfx_src_ps_nsFontMetricsPS.cpp b/deskutils/sunbird/files/patch-gfx_src_ps_nsFontMetricsPS.cpp new file mode 100644 index 000000000000..07014d87fa82 --- /dev/null +++ b/deskutils/sunbird/files/patch-gfx_src_ps_nsFontMetricsPS.cpp @@ -0,0 +1,26 @@ +--- gfx/src/ps/nsFontMetricsPS.cpp.orig Fri Dec 15 01:42:25 2006 ++++ gfx/src/ps/nsFontMetricsPS.cpp Fri Dec 15 01:41:20 2006 +@@ -1037,8 +1037,10 @@ nsFontPSXft::Init(nsXftEntry* aEntry, + + nsFontPSXft::~nsFontPSXft() + { +- if (mEntry->mFace) ++ if (mEntry->mFace) { + FT_Done_Face(mEntry->mFace); ++ mEntry->mFace = nsnull; ++ } + + if (FT_Done_FreeType(mFreeTypeLibrary)) + return; +@@ -2327,8 +2329,10 @@ nsXftType1Generator::Init(nsXftEntry* aE + + nsXftType1Generator::~nsXftType1Generator() + { +- if (mEntry->mFace) ++ if (mEntry->mFace) { + FT_Done_Face(mEntry->mFace); ++ mEntry->mFace = nsnull; ++ } + + if (FT_Done_FreeType(mFreeTypeLibrary)) + return; |