[mapguide-commits] r8862 - in branches/2.6/MgDev: . Oem/agg-2.4/include
svn_mapguide at osgeo.org
svn_mapguide at osgeo.org
Tue Dec 8 05:12:18 PST 2015
Author: jng
Date: 2015-12-08 05:12:18 -0800 (Tue, 08 Dec 2015)
New Revision: 8862
Modified:
branches/2.6/MgDev/
branches/2.6/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/2.6/MgDev
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/2.4/MgDev:6749-6756,6777-6783,6785-6787,6789,6791-6794,6796-6801,6954-6962,6986-7006
/sandbox/adsk/2.6l:8727
/sandbox/adsk/3.0m:8563,8584,8607,8625
/sandbox/jng/createruntimemap:7486-7555
/sandbox/rfc94:5099-5163
/trunk/MgDev:8209-8210,8230,8313,8333,8359,8388,8392,8423,8433,8439,8443-8444,8518-8519,8567-8568,8571,8588-8589,8595,8616-8618,8626,8682,8728
+ /branches/2.4/MgDev:6749-6756,6777-6783,6785-6787,6789,6791-6794,6796-6801,6954-6962,6986-7006
/sandbox/adsk/2.6l:8727
/sandbox/adsk/3.0m:8563,8584,8607,8625
/sandbox/jng/createruntimemap:7486-7555
/sandbox/rfc94:5099-5163
/trunk/MgDev:8209-8210,8230,8313,8333,8359,8388,8392,8423,8433,8439,8443-8444,8518-8519,8567-8568,8571,8588-8589,8595,8616-8618,8626,8682,8728,8844
Modified: branches/2.6/MgDev/Oem/agg-2.4/include/agg_font_cache_manager.h
===================================================================
--- branches/2.6/MgDev/Oem/agg-2.4/include/agg_font_cache_manager.h 2015-12-08 13:07:22 UTC (rev 8861)
+++ branches/2.6/MgDev/Oem/agg-2.4/include/agg_font_cache_manager.h 2015-12-08 13:12:18 UTC (rev 8862)
@@ -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