diff options
author | root <root@rshg054.dnsready.net> | 2012-04-17 00:01:34 +0000 |
---|---|---|
committer | root <root@rshg054.dnsready.net> | 2012-04-17 00:01:34 +0000 |
commit | d1bfef207c6695736de171fc604b68eab0c1f1cd (patch) | |
tree | aead3dfb062624c07d4ce9b8d1d05255eb9f4ec3 /extra/xf86-video-intel/0005-uxa-Fix-leak-of-glyph-mask-for-unhandled-glyph-compo.patch | |
parent | ea3d877b99c32e3a9e00ab220440d4518430e5bc (diff) |
Tue Apr 17 00:01:34 UTC 2012
Diffstat (limited to 'extra/xf86-video-intel/0005-uxa-Fix-leak-of-glyph-mask-for-unhandled-glyph-compo.patch')
-rw-r--r-- | extra/xf86-video-intel/0005-uxa-Fix-leak-of-glyph-mask-for-unhandled-glyph-compo.patch | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/extra/xf86-video-intel/0005-uxa-Fix-leak-of-glyph-mask-for-unhandled-glyph-compo.patch b/extra/xf86-video-intel/0005-uxa-Fix-leak-of-glyph-mask-for-unhandled-glyph-compo.patch new file mode 100644 index 000000000..865679078 --- /dev/null +++ b/extra/xf86-video-intel/0005-uxa-Fix-leak-of-glyph-mask-for-unhandled-glyph-compo.patch @@ -0,0 +1,40 @@ +From af5c698fd43308c3b799783b662b9cd871f90a62 Mon Sep 17 00:00:00 2001 +From: Chris Wilson <chris@chris-wilson.co.uk> +Date: Sat, 14 Apr 2012 19:03:25 +0100 +Subject: [PATCH 5/5] uxa: Fix leak of glyph mask for unhandled glyph + composition + +==1401== 7,344 bytes in 34 blocks are possibly lost in loss record 570 of 587 +==1401== at 0x4027034: calloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) +==1401== by 0x8BE5150: drm_intel_gem_bo_alloc_internal (intel_bufmgr_gem.c:689) +==1401== by 0x899FC04: intel_uxa_create_pixmap (intel_uxa.c:1077) +==1401== by 0x89C2C41: uxa_glyphs (uxa-glyphs.c:254) +==1401== by 0x21F05E: damageGlyphs (damage.c:647) +==1401== by 0x218E06: ProcRenderCompositeGlyphs (render.c:1434) +==1401== by 0x15AA40: Dispatch (dispatch.c:439) +==1401== by 0x1499E9: main (main.c:287) + +Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> +--- + uxa/uxa-glyphs.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/uxa/uxa-glyphs.c b/uxa/uxa-glyphs.c +index b754f4e..921b99c 100644 +--- a/uxa/uxa-glyphs.c ++++ b/uxa/uxa-glyphs.c +@@ -812,8 +812,10 @@ uxa_glyphs_via_mask(CARD8 op, + if (!uxa_pixmap_is_offscreen(src_pixmap) || + !uxa_screen->info->prepare_composite(PictOpAdd, + this_atlas, NULL, mask, +- src_pixmap, NULL, pixmap)) ++ src_pixmap, NULL, pixmap)) { ++ FreePicture(mask, 0); + return -1; ++ } + + glyph_atlas = this_atlas; + } +-- +1.7.10 + |