diff options
author | 2017-05-30 06:38:10 +0000 | |
---|---|---|
committer | 2017-05-30 06:38:10 +0000 | |
commit | 13739c113ef54cbb80484ba689bb28841a995e92 (patch) | |
tree | d449057eb275fbe7462a4f8e18562e48c3069029 /regress/lib/libpthread/socket/1/socket1.c | |
parent | avoid some shadow warnings. from Brian Callahan (diff) | |
download | wireguard-openbsd-13739c113ef54cbb80484ba689bb28841a995e92.tar.xz wireguard-openbsd-13739c113ef54cbb80484ba689bb28841a995e92.zip |
Fix a race by always modifying the 'counter' variable while holding the
mutex.
ok tedu@
Diffstat (limited to 'regress/lib/libpthread/socket/1/socket1.c')
-rw-r--r-- | regress/lib/libpthread/socket/1/socket1.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/regress/lib/libpthread/socket/1/socket1.c b/regress/lib/libpthread/socket/1/socket1.c index 1752820b1fd..af751cdb8d2 100644 --- a/regress/lib/libpthread/socket/1/socket1.c +++ b/regress/lib/libpthread/socket/1/socket1.c @@ -1,4 +1,4 @@ -/* $OpenBSD: socket1.c,v 1.5 2015/11/19 18:37:49 deraadt Exp $ */ +/* $OpenBSD: socket1.c,v 1.6 2017/05/30 06:38:10 mpi Exp $ */ /* * Copyright (c) 1993, 1994, 1995, 1996 by Chris Provenzano and contributors, * proven@mit.edu All rights reserved. @@ -78,10 +78,10 @@ sock_connect(void *arg) CHECKe(connect(fd, (struct sockaddr *) &a_sout, sizeof(a_sout))); CHECKe(close(fd)); - CHECKr(pthread_mutex_unlock(&mutex)); - CHECKe(fd = socket(AF_INET, SOCK_STREAM, 0)); ASSERT(++counter == 3); + + CHECKr(pthread_mutex_unlock(&mutex)); CHECKe(connect(fd, (struct sockaddr *) &a_sout, sizeof(a_sout))); /* Ensure sock_read runs again */ |