diff --git a/src/libstrongswan/plugins/agent/agent_private_key.c b/src/libstrongswan/plugins/agent/agent_private_key.c index c1d371cb6..802298cc9 100644 --- a/src/libstrongswan/plugins/agent/agent_private_key.c +++ b/src/libstrongswan/plugins/agent/agent_private_key.c @@ -188,6 +188,7 @@ static int open_connection(char *path, char *user) close(s); return -1; case 0: + { /* child, do everything manually to avoid interacting with * mutexes etc. that are potentially locked in the parent */ struct passwd *pwp; @@ -209,6 +210,7 @@ static int open_connection(char *path, char *user) } exit(EXIT_FAILURE); /* not reached */ + } default: /* parent */ if (waitpid(pid, &status, 0) == -1 ||