Browse Source

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

tags/2021-05-28
hogliux 9 years ago
parent
commit
c0987f2b32
1 changed files with 6 additions and 1 deletions
  1. +6
    -1
      modules/juce_graphics/native/juce_mac_Fonts.mm

+ 6
- 1
modules/juce_graphics/native/juce_mac_Fonts.mm View File

@@ -541,11 +541,15 @@ public:
fontHeightToPointsFactor (1.0f), fontHeightToPointsFactor (1.0f),
renderingTransform (CGAffineTransformIdentity), renderingTransform (CGAffineTransformIdentity),
isMemoryFont (true), isMemoryFont (true),
dataCopy (data, dataSize),
attributedStringAtts (nullptr), attributedStringAtts (nullptr),
ascent (0.0f), ascent (0.0f),
unitsToHeightScaleFactor (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); CGDataProviderRef provider = CGDataProviderCreateWithCFData (cfData);
CFRelease (cfData); CFRelease (cfData);
@@ -709,6 +713,7 @@ public:
bool isMemoryFont; bool isMemoryFont;
private: private:
MemoryBlock dataCopy;
CFDictionaryRef attributedStringAtts; CFDictionaryRef attributedStringAtts;
float ascent, unitsToHeightScaleFactor; float ascent, unitsToHeightScaleFactor;
AffineTransform pathTransform; AffineTransform pathTransform;


Loading…
Cancel
Save