summaryrefslogtreecommitdiff
path: root/src/threads/cnd_timedwait.c
diff options
context:
space:
mode:
authorJakob Kaivo <jkk@ung.org>2024-01-31 13:24:56 -0500
committerJakob Kaivo <jkk@ung.org>2024-01-31 13:24:56 -0500
commit4b43b375b7abae22070cd86bfc26a8222233150e (patch)
tree6ff165b17879e80300cb6d05b5537a65c82c2dc7 /src/threads/cnd_timedwait.c
parentab3c589cd14c2b7efd79c89fd75ea35edcf9edff (diff)
check for overlapping pointers
Diffstat (limited to 'src/threads/cnd_timedwait.c')
-rw-r--r--src/threads/cnd_timedwait.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/threads/cnd_timedwait.c b/src/threads/cnd_timedwait.c
index dfa13b93..1e86b7e5 100644
--- a/src/threads/cnd_timedwait.c
+++ b/src/threads/cnd_timedwait.c
@@ -7,6 +7,10 @@
int cnd_timedwait(cnd_t *restrict cond, mtx_t *restrict mtx, const struct timespec *restrict ts)
{
SIGNAL_SAFE(0);
+ ASSERT_NOOVERLAP(cond, sizeof(*cond), mtx, sizeof(*mtx));
+ ASSERT_NOOVERLAP(cond, sizeof(*cond), ts, sizeof(*ts));
+ ASSERT_NOOVERLAP(mtx, sizeof(*mtx), ts, sizeof(*ts));
+
switch (pthread_cond_timedwait(cond, mtx, ts)) {
case 0:
return thrd_success;