The out_ctx label can be reached before fork has been called. If this
happens, then kill -1 would be called, sending SIGTERM to all processes
reachable by the current process.
From tobias@ and c3h2_ctf via github PR#286, ok djm@
-/* $OpenBSD: readpass.c,v 1.69 2021/07/23 05:56:47 djm Exp $ */
+/* $OpenBSD: readpass.c,v 1.70 2022/05/27 04:27:49 dtucker Exp $ */
/*
* Copyright (c) 2001 Markus Friedl. All rights reserved.
*
}
out_ctx:
if ((ret = calloc(1, sizeof(*ret))) == NULL) {
- kill(pid, SIGTERM);
+ if (pid != -1)
+ kill(pid, SIGTERM);
fatal_f("calloc failed");
}
ret->pid = pid;