1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2026-08-05 10:27:26 -04:00
Commit Graph

59 Commits

Author SHA1 Message Date
Robin Getz 0928de3b7b deviceapi: Avoid iterator invalidation when clearing buddy lists
Fix cppcheck warning:
    Using iterator to member container 'm_sinkBuddies' that may be invalid

clearBuddiesLists() was iterating directly over m_sourceBuddies and
m_sinkBuddies while calling removeBuddy(), which modifies the buddy
relationship lists. This could invalidate the active iterator and result in
undefined behavior.

The issue could lead to intermittent failures during buddy cleanup operations,
such as device removal, device reload, or application shutdown, depending on
container state and timing.

Iterate over copies of the buddy lists so that removing relationships does not
affect the iterators used for traversal.

Signed-off-by: Robin Getz <rgetz503@gmail.com>
2026-08-01 17:06:39 -04:00
Robin Getz 11be1bb1e7 deviceapi: Avoid invalid iterator erase in removeBuddy
In std::vector<T,Allocator>::erase, The iterator pos must be valid and
dereferenceable. Thus the end() iterator (which is valid, but is not
dereferenceable) cannot be used as a value for pos.

Protect against that by checking the result of std::find() before erasing
a buddy entry. The buddy should always be present when removeBuddy() is
called, but avoid undefined behavior if that assumption is violated.

Signed-off-by: Robin Getz <rgetz503@gmail.com>
2026-08-01 16:44:34 -04:00
srcejon a91fa3b760 Don't stop source if being deleted. For #2315. Send DSPSignalNotification in audio mods for #2336. 2024-11-25 17:16:08 +00:00
Jon Beniston 227eb55365 Fix DeviceAPI::deserialize. Fixes #2266. 2024-10-07 09:34:23 +01:00
f4exb b85419c56a Sonar fixes 2024-08-27 09:54:09 +02:00
mxi-box aeafe51220 Fix not remove source buddy 2024-02-27 07:13:09 +08:00
f4exb 439b5d094c Rewriting of copyright notices for sdrbase. Part of #1893 2023-11-19 13:43:10 +01:00
Jon Beniston 9b3c348133 Fix gcc warnings 2023-08-24 16:05:57 +01:00
Jon Beniston 2a24f72590 Add support for plugin presets. 2023-08-24 15:51:50 +01:00
Jon Beniston d404e9f943 Add start/stop all devices button in toolbar. Add device stateChanged signal. Use in RTL SDR GUI for updating device state 2022-08-27 10:18:17 +01:00
f4exb 9e5c629473 v7: API: added workspace handling for device, spectrum, feature and channel. Implements #1242 2022-05-13 22:24:48 +02:00
f4exb 2f89b79c84 Massive UI revamping (v7): added channels 2022-04-12 16:20:45 +02:00
f4exb 66fbde74a9 BladeRF2 MIMO 2020-11-10 19:09:44 +01:00
f4exb 315c64c8c7 Removed PluginInstanceGUI reference in DeviceAPI 2020-10-04 22:16:09 +02:00
f4exb 9667b9c1cc Device API: fixed channel add/remove on streams with index > 0 2020-09-11 08:45:33 +02:00
f4exb 901553ab74 Removed add/remove ancillary sink from device API 2020-08-09 01:08:29 +02:00
f4exb ee0655a851 Device API: fixed renumerateChannels in case of MIMO 2020-07-13 22:22:43 +02:00
f4exb 83183b8a6a Device API: fixed missing channel sink removal in case of MIMO 2020-07-13 22:22:33 +02:00
f4exb b64d813cfc Fixed some warnings from Mac ports compilation 2020-04-19 06:14:45 +02:00
f4exb d11f56adb9 REST API: updates for MIMO (4) 2019-12-24 19:10:20 +01:00
f4exb 6855602a7f Device API: removed useless stream index parameter on channel API methods 2019-12-23 23:41:44 +01:00
f4exb a0830f8ba2 REST API: updates for MIMO (3) 2019-12-23 23:00:19 +01:00
f4exb ddc4667bdb REST API: updates for MIMO 2019-12-23 18:51:38 +01:00
f4exb 1359aac9b6 Removed ThreadedBasebandSampleSink 2019-12-13 00:42:37 +01:00
f4exb 5b83b2a4a8 Rx plugins: refactoring of classes (1) 2019-11-23 07:40:36 +01:00
f4exb fba885c609 MIMO: updates to base code 2019-11-17 01:58:31 +01:00
f4exb 3b74153ec6 SampleSourceFifo refactoring and Tx code reorganization 2019-11-15 01:05:32 +01:00
f4exb cf52553304 MIMO: MO operation fixes 2019-10-20 20:05:30 +02:00
f4exb ff617b6f7d Reworked sample MI FIFO and MIMO device engine 2019-10-09 07:39:52 +02:00
f4exb 500f5bc82c Presets for MIMO 2019-10-09 07:39:52 +02:00
f4exb 77b5002907 Added MIMO channel support to device API and engine 2019-09-04 05:02:54 +02:00
f4exb 41f640bd63 MIMO simplification 2019-08-14 02:56:15 +02:00
f4exb e061a45e62 Fixed buddies list handling at buddy termination time. Fixes #359 2019-06-04 07:08:59 +02:00
f4exb bb8366bfde MIMO: test MI source: implemented file record 2019-05-28 08:56:36 +02:00
f4exb f9a8523714 MIMO: add channel to testMI (2) 2019-05-27 02:52:33 +02:00
f4exb b01c4e2477 Device API: added a number of source and sink streams and update it from the plugins 2019-05-21 00:27:08 +02:00
f4exb ad4827f36c MIMO: handle channel and ancillary source / sink lists add / remove items 2019-05-19 12:54:22 +02:00
f4exb 7186182d71 MIMO: use proper functions to get the number of source and stream sinks from the MIMO device 2019-05-19 10:23:18 +02:00
f4exb ddde7a925f MIMO: copied test source as multiple input. Adaptation of main classes 2019-05-18 06:30:37 +02:00
f4exb a5e9f251ef Single channel API 2019-05-09 17:27:12 +02:00
f4exb 9e628917dc Removed all obsolete references to devicesourceapi.h and devicesinkapi.h 2019-05-09 12:10:27 +02:00
f4exb 89e53cf179 Single DeviceAPI interface (1) 2019-05-08 22:11:53 +02:00
f4exb 69313daeae Added a generic device API interface 2019-05-08 00:30:40 +02:00
f4exb 32595f81b9 RxTx semantic move: renamed DeviceAPI to DeviceSourceAPI 2016-10-11 01:17:55 +02:00
f4exb e204efe2b8 RxTx semantic move: renamed DSPDeviceEngine to DSPDeviceSourceEngine 2016-10-03 18:29:05 +02:00
f4exb dce0ace4ef RxTx semantic move: renamed ThreadedSampleSink to ThreadedBasebandSampleSink 2016-10-03 15:55:16 +02:00
f4exb 7a535cc3b8 RxTx semantic move: renamed SampleSource to DeviceSampleSource 2016-10-02 23:16:40 +02:00
f4exb 78513854ac RxTx semantic move: renamed SampleSink to BasebandSampleSink 2016-10-02 22:29:04 +02:00
f4exb cae0012399 Multi device support: fixed segfaults when changing device 2016-05-17 11:06:56 +02:00
f4exb 86b04a4d62 Multi device support: code cleanup and fixed lock on exit 2016-05-17 00:04:27 +02:00