mirror of
https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
synced 2025-11-03 09:01:50 -05:00
bluetooth: Fix negative array index write
CID 1533121
This commit is contained in:
parent
aa1882c93f
commit
492aafd93d
1 changed files with 5 additions and 3 deletions
|
|
@ -231,14 +231,17 @@ static void rfcomm_io_callback(pa_mainloop_api *io, pa_io_event *e, int fd, pa_i
|
|||
ssize_t len;
|
||||
int gain;
|
||||
|
||||
len = read(fd, buf, 511);
|
||||
len = pa_read(fd, buf, 511, NULL);
|
||||
if (len < 0) {
|
||||
pa_log_error("RFCOMM read error: %s", pa_cstrerror(errno));
|
||||
goto fail;
|
||||
}
|
||||
buf[len] = 0;
|
||||
pa_log_debug("RFCOMM << %s", buf);
|
||||
|
||||
if (sscanf(buf, "AT+VGS=%d", &gain) == 1) {
|
||||
t->speaker_gain = gain;
|
||||
pa_hook_fire(pa_bluetooth_discovery_hook(t->device->discovery, PA_BLUETOOTH_HOOK_TRANSPORT_SPEAKER_GAIN_CHANGED), t);
|
||||
|
||||
} else if (sscanf(buf, "AT+VGM=%d", &gain) == 1) {
|
||||
t->microphone_gain = gain;
|
||||
pa_hook_fire(pa_bluetooth_discovery_hook(t->device->discovery, PA_BLUETOOTH_HOOK_TRANSPORT_MICROPHONE_GAIN_CHANGED), t);
|
||||
|
|
@ -259,7 +262,6 @@ static void rfcomm_io_callback(pa_mainloop_api *io, pa_io_event *e, int fd, pa_i
|
|||
fail:
|
||||
pa_bluetooth_transport_unlink(t);
|
||||
pa_bluetooth_transport_free(t);
|
||||
return;
|
||||
}
|
||||
|
||||
static void transport_destroy(pa_bluetooth_transport *t) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue