diff options
Diffstat (limited to 'libs/backends')
-rw-r--r-- | libs/backends/jack/jack_portengine.cc | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/libs/backends/jack/jack_portengine.cc b/libs/backends/jack/jack_portengine.cc index 934f8b5d9e..98d2744d7a 100644 --- a/libs/backends/jack/jack_portengine.cc +++ b/libs/backends/jack/jack_portengine.cc @@ -135,12 +135,15 @@ JACKAudioBackend::get_port_property (PortHandle port, const std::string& key, st jack_uuid_t uuid = jack_port_uuid((jack_port_t*) port); rv = jack_get_property(uuid, key.c_str(), &cvalue, &ctype); - if (0 == rv) { + if (0 == rv && cvalue && ctype) { value = cvalue; type = ctype; - jack_free(cvalue); - jack_free(ctype); + } else { + rv = -1; } + + jack_free(cvalue); + jack_free(ctype); return rv; #else return -1; |