From 1eaaf4303bd26280cec54c79767629a14636474a Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Sat, 29 Oct 2022 09:37:17 -0600 Subject: [PATCH] jack backend: catch some possible errors in ::get_port_name() --- libs/backends/jack/jack_portengine.cc | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/libs/backends/jack/jack_portengine.cc b/libs/backends/jack/jack_portengine.cc index 0074732953..9ca54ea2dd 100644 --- a/libs/backends/jack/jack_portengine.cc +++ b/libs/backends/jack/jack_portengine.cc @@ -122,7 +122,19 @@ JACKAudioBackend::set_port_name (PortHandle port, const std::string& name) string JACKAudioBackend::get_port_name (PortHandle port) const { - return jack_port_name (boost::dynamic_pointer_cast(port)->jack_ptr); + if (!port) { + error << _("Fetching port name for non-existent port!") << endmsg; + return string(); + } + + jack_port_t* jp = boost::dynamic_pointer_cast(port)->jack_ptr; + + if (!jp) { + error << _("Fetching port name for non-existent JACK port!") << endmsg; + return string(); + } + + return jack_port_name (jp); } PortFlags