summaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorSharvil Nanavati <sharvil@google.com>2016-06-20 19:16:12 -0700
committerJessica Wagantall <jwagantall@cyngn.com>2016-08-01 17:04:08 -0700
commitcbe91a68210f39e8d3328f5df65e370c5bf4763b (patch)
tree34e343fc72d6b8ea02649c6e626ece14f7c79367 /test
parente801523fb867d27fa8b0a571d62c0ed28005c127 (diff)
downloadandroid_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.h6
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