From: Daiki Ueno Date: Sun, 5 Mar 2023 06:20:35 +0000 (+0900) Subject: tests: close unused peer socket in the tests using socketpair X-Git-Tag: 3.8.1~33^2~1 X-Git-Url: http://git.ipfire.org/gitweb/?a=commitdiff_plain;h=dd79ac9bcf90012e090726adf7c1940bcce8333f;p=thirdparty%2Fgnutls.git tests: close unused peer socket in the tests using socketpair Otherwise, the subsequent call to wait will block, when the child process exits abnormally. Checked with the following script: for i in $(git grep -l socketpair); do if ! grep -q 'close.*\[' $i; then echo $i; fi done Signed-off-by: Daiki Ueno --- diff --git a/tests/anonself.c b/tests/anonself.c index b92cb286a1..f33f563ea2 100644 --- a/tests/anonself.c +++ b/tests/anonself.c @@ -275,10 +275,12 @@ void start(const char *name, const char *prio) if (child) { int status; /* parent */ + close(sockets[1]); server(sockets[0], prio); wait(&status); check_wait_status(status); } else { + close(sockets[0]); client(sockets[1], prio); exit(0); } diff --git a/tests/cipher-alignment.c b/tests/cipher-alignment.c index ae6aa782b0..65fa6e0fa7 100644 --- a/tests/cipher-alignment.c +++ b/tests/cipher-alignment.c @@ -491,10 +491,12 @@ void start(const char *prio) if (child) { int status; + close(sockets[1]); server(sockets[0], prio); wait(&status); check_wait_status(status); } else { + close(sockets[0]); client(sockets[1], prio); exit(0); } diff --git a/tests/client-sign-md5-rep.c b/tests/client-sign-md5-rep.c index 7b573aa4fc..08866c838c 100644 --- a/tests/client-sign-md5-rep.c +++ b/tests/client-sign-md5-rep.c @@ -809,10 +809,12 @@ void doit(void) if (child) { int status; + close(sockets[0]); client(sockets[1]); wait(&status); check_wait_status(status); } else { + close(sockets[1]); server(sockets[0]); _exit(0); } diff --git a/tests/dhepskself.c b/tests/dhepskself.c index f3eebc0c9c..a7caa38381 100644 --- a/tests/dhepskself.c +++ b/tests/dhepskself.c @@ -295,10 +295,12 @@ void doit(void) if (child) { int status; /* parent */ + close(sockets[1]); server(sockets[0]); wait(&status); check_wait_status(status); } else { + close(sockets[0]); client(sockets[1]); exit(0); } diff --git a/tests/dhex509self.c b/tests/dhex509self.c index b969ba8a13..548a97ba11 100644 --- a/tests/dhex509self.c +++ b/tests/dhex509self.c @@ -383,10 +383,12 @@ void doit(void) if (child) { int status; + close(sockets[1]); server(sockets[0]); wait(&status); check_wait_status(status); } else { + close(sockets[0]); client(sockets[1]); exit(0); } diff --git a/tests/duplicate-extensions.c b/tests/duplicate-extensions.c index 5384eaa227..54a4a7bb15 100644 --- a/tests/duplicate-extensions.c +++ b/tests/duplicate-extensions.c @@ -214,10 +214,12 @@ void doit(void) if (child) { int status; + close(sockets[0]); client(sockets[1]); wait(&status); check_wait_status(status); } else { + close(sockets[1]); server(sockets[0]); _exit(0); } diff --git a/tests/naked-alerts.c b/tests/naked-alerts.c index aded2932f5..73331f72fc 100644 --- a/tests/naked-alerts.c +++ b/tests/naked-alerts.c @@ -163,10 +163,12 @@ void doit(void) if (child) { int status; + close(sockets[1]); server(sockets[0]); wait(&status); check_wait_status(status); } else { + close(sockets[0]); client(sockets[1]); exit(0); } diff --git a/tests/server-sign-md5-rep.c b/tests/server-sign-md5-rep.c index b3afd9db71..c7f31c9e63 100644 --- a/tests/server-sign-md5-rep.c +++ b/tests/server-sign-md5-rep.c @@ -239,10 +239,12 @@ void doit(void) if (child) { int status; + close(sockets[0]); client(sockets[1]); wait(&status); check_wait_status(status); } else { + close(sockets[1]); server(sockets[0]); _exit(0); } diff --git a/tests/srp.c b/tests/srp.c index 0cd9d2d09e..1fc582c901 100644 --- a/tests/srp.c +++ b/tests/srp.c @@ -293,6 +293,7 @@ static void start(const char *name, const char *prio, const char *user, if (child) { int status; /* parent */ + close(fd[0]); client(fd[1], prio, user, pass, exp_err); if (exp_err < 0) { kill(child, SIGTERM); @@ -302,6 +303,7 @@ static void start(const char *name, const char *prio, const char *user, check_wait_status(status); } } else { + close(fd[1]); server(fd[0], prio); exit(0); } diff --git a/tests/tls-session-supplemental.c b/tests/tls-session-supplemental.c index 65a9c95c37..e71780c457 100644 --- a/tests/tls-session-supplemental.c +++ b/tests/tls-session-supplemental.c @@ -291,10 +291,12 @@ void start(const char *prio, unsigned server_only) if (child) { int status; /* parent */ + close(sockets[1]); server(sockets[0], prio, server_only); wait(&status); check_wait_status(status); } else { + close(sockets[0]); client(sockets[1], prio, server_only); exit(0); }