From 3e5a556cf705a508572a31fca6dde55338426682 Mon Sep 17 00:00:00 2001 From: f4exb Date: Sun, 30 Aug 2015 13:03:27 +0200 Subject: [PATCH] Deep redesign: fixed BladeRF plugin segfault when no device is connected --- plugins/samplesource/bladerf/bladerfplugin.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/plugins/samplesource/bladerf/bladerfplugin.cpp b/plugins/samplesource/bladerf/bladerfplugin.cpp index 66c4756ad..e6e7a5b08 100644 --- a/plugins/samplesource/bladerf/bladerfplugin.cpp +++ b/plugins/samplesource/bladerf/bladerfplugin.cpp @@ -51,7 +51,7 @@ void BlderfPlugin::initPlugin(PluginAPI* pluginAPI) PluginInterface::SampleSourceDevices BlderfPlugin::enumSampleSources() { SampleSourceDevices result; - struct bladerf_devinfo *devinfo; + struct bladerf_devinfo *devinfo = 0; int count = bladerf_get_device_list(&devinfo); @@ -64,7 +64,10 @@ PluginInterface::SampleSourceDevices BlderfPlugin::enumSampleSources() result.append(SampleSourceDevice(displayedName, "org.osmocom.sdr.samplesource.bladerf", s.final())); } - bladerf_free_device_list(devinfo); // Valgrind memcheck + if (devinfo) + { + bladerf_free_device_list(devinfo); // Valgrind memcheck + } return result; }