diff options
author | Sharvil Nanavati <sharvil@google.com> | 2016-06-20 19:16:12 -0700 |
---|---|---|
committer | Jessica Wagantall <jwagantall@cyngn.com> | 2016-08-01 17:04:08 -0700 |
commit | cbe91a68210f39e8d3328f5df65e370c5bf4763b (patch) | |
tree | 34e343fc72d6b8ea02649c6e626ece14f7c79367 /test | |
parent | e801523fb867d27fa8b0a571d62c0ed28005c127 (diff) | |
download | android_system_bt-cbe91a68210f39e8d3328f5df65e370c5bf4763b.tar.gz android_system_bt-cbe91a68210f39e8d3328f5df65e370c5bf4763b.tar.bz2 android_system_bt-cbe91a68210f39e8d3328f5df65e370c5bf4763b.zip |
Fix potential DoS caused by delivering signal to BT processstable/cm-13.0-ZNH0E
Ticket: CYNGNOS-3177
Bug: 28885210
Change-Id: I63866d894bfca47464d6e42e3fb0357c4f94d360
Diffstat (limited to 'test')
-rw-r--r-- | test/suite/support/callbacks.h | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/test/suite/support/callbacks.h b/test/suite/support/callbacks.h index e01de39a2..2ef35156c 100644 --- a/test/suite/support/callbacks.h +++ b/test/suite/support/callbacks.h @@ -20,12 +20,14 @@ #include "base.h" +#include <errno.h> #include <semaphore.h> +#include <unistd.h> #define WAIT(callback) \ do { \ sem_t *semaphore = callbacks_get_semaphore(#callback); \ - sem_wait(semaphore); \ + TEMP_FAILURE_RETRY(sem_wait(semaphore)); \ } while (0) #define CALL_AND_WAIT(expression, callback) \ @@ -33,7 +35,7 @@ sem_t *semaphore = callbacks_get_semaphore(#callback); \ while (!sem_trywait(semaphore)); \ expression; \ - sem_wait(semaphore); \ + TEMP_FAILURE_RETRY(sem_wait(semaphore)); \ } while(0) // To be called from every exit point of the callback. This macro |