summaryrefslogtreecommitdiffstats
path: root/osi/src/eager_reader.c
diff options
context:
space:
mode:
authorSharvil Nanavati <sharvil@google.com>2016-06-20 19:16:12 -0700
committerJessica Wagantall <jwagantall@cyngn.com>2016-08-02 01:12:33 -0700
commit791c2192a9a19e42d8a396b0e46e1b15feb542cb (patch)
tree32c97666df9efaadc8206ea0499cf2480d2b8829 /osi/src/eager_reader.c
parent0e94bd5ac42a4621c873c8c2af4aa2aced3c6442 (diff)
downloadandroid_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.c4
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;