1
0
Fork 0
mirror of https://github.com/juce-framework/JUCE.git synced 2026-01-21 01:24:21 +00:00

Fixed a false positive in ASAN in a recent bug fix commit to OSXTypeface

This commit is contained in:
hogliux 2016-11-24 11:59:11 +00:00
parent 57fdbd439f
commit c0987f2b32

View file

@ -541,11 +541,15 @@ public:
fontHeightToPointsFactor (1.0f),
renderingTransform (CGAffineTransformIdentity),
isMemoryFont (true),
dataCopy (data, dataSize),
attributedStringAtts (nullptr),
ascent (0.0f),
unitsToHeightScaleFactor (0.0f)
{
CFDataRef cfData = CFDataCreate (kCFAllocatorDefault, (const UInt8*) data, (CFIndex) dataSize);
// We can't use CFDataCreate here as this triggers a false positive in ASAN
// so copy the data manually and use CFDataCreateWithBytesNoCopy
CFDataRef cfData = CFDataCreateWithBytesNoCopy (kCFAllocatorDefault, (const UInt8*) dataCopy.getData(),
(CFIndex) dataCopy.getSize(), kCFAllocatorNull);
CGDataProviderRef provider = CGDataProviderCreateWithCFData (cfData);
CFRelease (cfData);
@ -709,6 +713,7 @@ public:
bool isMemoryFont;
private:
MemoryBlock dataCopy;
CFDictionaryRef attributedStringAtts;
float ascent, unitsToHeightScaleFactor;
AffineTransform pathTransform;