diff options
author | Robin Gareus <robin@gareus.org> | 2015-03-08 01:38:47 +0100 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2015-03-08 01:40:39 +0100 |
commit | 95631cdc25b4643add09a45e55228375ef159e58 (patch) | |
tree | 848386aa463dde58f404d32e74b33ead561b910b /libs | |
parent | 23a6526de70857011317b68f1fcfd1f18be8255e (diff) |
properly handle empty CFStringRefs.
Diffstat (limited to 'libs')
-rw-r--r-- | libs/backends/coreaudio/coremidi_io.cc | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/libs/backends/coreaudio/coremidi_io.cc b/libs/backends/coreaudio/coremidi_io.cc index c3bd868165..fd3b4c1db8 100644 --- a/libs/backends/coreaudio/coremidi_io.cc +++ b/libs/backends/coreaudio/coremidi_io.cc @@ -46,7 +46,11 @@ static void midiInputCallback(const MIDIPacketList *list, void *procRef, void *s static std::string getDisplayName(MIDIObjectRef object) { CFStringRef name = nil; - if (noErr != MIDIObjectGetStringProperty(object, kMIDIPropertyDisplayName, &name) && name) { + if (noErr != MIDIObjectGetStringProperty(object, kMIDIPropertyDisplayName, &name)) { + return ""; + } + if (!CFStringGetCStringPtr(name, kCFStringEncodingUTF8)) { + if (name) CFRelease(name); return ""; } std::string rv (CFStringGetCStringPtr(name, kCFStringEncodingUTF8)); |