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