summaryrefslogtreecommitdiff
path: root/libs
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2015-03-08 01:38:47 +0100
committerRobin Gareus <robin@gareus.org>2015-03-08 01:40:39 +0100
commit95631cdc25b4643add09a45e55228375ef159e58 (patch)
tree848386aa463dde58f404d32e74b33ead561b910b /libs
parent23a6526de70857011317b68f1fcfd1f18be8255e (diff)
properly handle empty CFStringRefs.
Diffstat (limited to 'libs')
-rw-r--r--libs/backends/coreaudio/coremidi_io.cc6
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));