diff options
author | Andriy Tryshnivskyy <andriy.tryshnivskyy@opensynergy.com> | 2021-09-02 19:06:30 +0300 |
---|---|---|
committer | Jan-Simon Moeller <jsmoeller@linuxfoundation.org> | 2021-09-21 15:21:10 +0000 |
commit | ddd5a7a1b868659f653db5d28840321c2aaf8d44 (patch) | |
tree | a841d797290dae22f194a18da0c7905105ce488e /binding/config_iiodevices.c | |
parent | f28d172b3b26194f3ea4c5e4482d233f302e1cd3 (diff) |
binding iiodevices: Fix service crash when subscribing to two iio devices.
It fixes a segmentation fault when subscribing to two or more devices [1].
For every device, a client structure is created and stored in the linked list.
If the device is not present, the corresponding client is removed from this list
(it is done in deinit_client_sub()). There is an internal pointer last_client,
which stores a pointer to the last client. The root cause for this bug is that
last_client was not updated after the client was removed from the linked list.
The solution is to not save the last pointer since it can be easily found when
it is needed.
1:
ON-REPLY 2:iiodevices/subscribe: ERROR
{
"jtype":"afb-reply",
"request":{
"status":"aborted",
"info":"signal Segmentation fault(11) caught"
}
}
Issue: SPEC-4066
Signed-off-by: Andriy Tryshnivskyy <andriy.tryshnivskyy@opensynergy.com>
Change-Id: I72658ffd9f3b43a4ff71346f7fe4cf2c8f1242ca
(cherry picked from commit 537e8fb05c31fab3ab447f0a4e222b1091245a1a)
Diffstat (limited to 'binding/config_iiodevices.c')
0 files changed, 0 insertions, 0 deletions