From 95631cdc25b4643add09a45e55228375ef159e58 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Sun, 8 Mar 2015 01:38:47 +0100 Subject: [PATCH] properly handle empty CFStringRefs. --- libs/backends/coreaudio/coremidi_io.cc | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) 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));