diff options
author | Sharvil Nanavati <sharvil@google.com> | 2016-06-20 19:16:12 -0700 |
---|---|---|
committer | Jessica Wagantall <jwagantall@cyngn.com> | 2016-08-02 01:12:33 -0700 |
commit | 791c2192a9a19e42d8a396b0e46e1b15feb542cb (patch) | |
tree | 32c97666df9efaadc8206ea0499cf2480d2b8829 /osi/src/eager_reader.c | |
parent | 0e94bd5ac42a4621c873c8c2af4aa2aced3c6442 (diff) | |
download | android_system_bt-791c2192a9a19e42d8a396b0e46e1b15feb542cb.tar.gz android_system_bt-791c2192a9a19e42d8a396b0e46e1b15feb542cb.tar.bz2 android_system_bt-791c2192a9a19e42d8a396b0e46e1b15feb542cb.zip |
Fix potential DoS caused by delivering signal to BT processstable/cm-13.0-ZNH2K
Ticket: CYNGNOS-3177
Bug: 28885210
Change-Id: I63866d894bfca47464d6e42e3fb0357c4f94d360
Diffstat (limited to 'osi/src/eager_reader.c')
-rw-r--r-- | osi/src/eager_reader.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/osi/src/eager_reader.c b/osi/src/eager_reader.c index 3ca8ad13c..e93947d51 100644 --- a/osi/src/eager_reader.c +++ b/osi/src/eager_reader.c @@ -228,7 +228,7 @@ static bool has_byte(const eager_reader_t *reader) { timeout.tv_sec = 0; timeout.tv_usec = 0; - select(reader->bytes_available_fd + 1, &read_fds, NULL, NULL, &timeout); + TEMP_FAILURE_RETRY(select(reader->bytes_available_fd + 1, &read_fds, NULL, NULL, &timeout)); return FD_ISSET(reader->bytes_available_fd, &read_fds); } @@ -244,7 +244,7 @@ static void inbound_data_waiting(void *context) { buffer->length = 0; buffer->offset = 0; - int bytes_read = read(reader->inbound_fd, buffer->data, reader->buffer_size); + int bytes_read = TEMP_FAILURE_RETRY(read(reader->inbound_fd, buffer->data, reader->buffer_size)); if (bytes_read > 0) { // Save the data for later buffer->length = bytes_read; |