[mapguide-commits] r8845 - in branches/3.0/MgDev: . Oem/agg-2.4/include

svn_mapguide at osgeo.org svn_mapguide at osgeo.org
Mon Nov 30 07:02:25 PST 2015


Author: jng
Date: 2015-11-30 07:02:25 -0800 (Mon, 30 Nov 2015)
New Revision: 8845

Modified:
   branches/3.0/MgDev/
   branches/3.0/MgDev/Oem/agg-2.4/include/agg_font_cache_manager.h
Log:
Merged revision(s) 8844 from trunk/MgDev:
#2578: Fix instability on Ubuntu 14.04 due to segfaulting AGG renderer. On Ubuntu 14.04, the use of memcpy() in agg::font_cache_pool::font() involves overlapping memory addresses (as reported by valgrind). This results in eventual segfault due to freeing a part of font_cache pointer in the m_fonts array when the AGG renderer is cleaned up.

Changing memcpy() to memmove() fixes the issue.
........



Property changes on: branches/3.0/MgDev
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/2.4/MgDev:6749-6756,6777-6783,6785-6787,6789,6791-6794,6796-6801,6954-6962,6986-7006
/branches/2.6/MgDev:8276-8286,8288-8292,8297,8299,8301,8303,8314-8315,8318,8335,8340,8354-8355,8365,8373
/sandbox/adsk/2.6l:8727
/sandbox/adsk/3.0m:8563,8584,8607,8625,8694-8695
/sandbox/jng/convenience_apis:8262-8268,8271-8363
/sandbox/jng/createruntimemap:7486-7555
/sandbox/jng/dwftk:8321-8324,8328-8329,8331,8352
/sandbox/jng/geos34x:8256-8259
/sandbox/jng/tiling:8174-8208
/sandbox/jng/v30:8212-8227
/sandbox/rfc94:5099-5163
/trunk/MgDev:8595,8616-8618,8626,8682,8700,8728
   + /branches/2.4/MgDev:6749-6756,6777-6783,6785-6787,6789,6791-6794,6796-6801,6954-6962,6986-7006
/branches/2.6/MgDev:8276-8286,8288-8292,8297,8299,8301,8303,8314-8315,8318,8335,8340,8354-8355,8365,8373
/sandbox/adsk/2.6l:8727
/sandbox/adsk/3.0m:8563,8584,8607,8625,8694-8695
/sandbox/jng/convenience_apis:8262-8268,8271-8363
/sandbox/jng/createruntimemap:7486-7555
/sandbox/jng/dwftk:8321-8324,8328-8329,8331,8352
/sandbox/jng/geos34x:8256-8259
/sandbox/jng/tiling:8174-8208
/sandbox/jng/v30:8212-8227
/sandbox/rfc94:5099-5163
/trunk/MgDev:8595,8616-8618,8626,8682,8700,8728,8844

Modified: branches/3.0/MgDev/Oem/agg-2.4/include/agg_font_cache_manager.h
===================================================================
--- branches/3.0/MgDev/Oem/agg-2.4/include/agg_font_cache_manager.h	2015-11-30 14:57:05 UTC (rev 8844)
+++ branches/3.0/MgDev/Oem/agg-2.4/include/agg_font_cache_manager.h	2015-11-30 15:02:25 UTC (rev 8845)
@@ -172,8 +172,8 @@
                 if(m_num_fonts >= m_max_fonts)
                 {
                     obj_allocator<font_cache>::deallocate(m_fonts[0]);
-                    memcpy(m_fonts, 
-                           m_fonts + 1, 
+                    memmove(m_fonts, 
+                            m_fonts + 1, 
                            (m_max_fonts - 1) * sizeof(font_cache*));
                     m_num_fonts = m_max_fonts - 1;
                 }



More information about the mapguide-commits mailing list