1
0
forked from aniani/gmnisrv

tls: fix crash when opening priv key for writing

The open syscall will return a negative value if the call fails. Switch
the check to look for this instead of 0.

before:

[gmnisrv] generating certificate for localhost
gmnisrv: src/tls.c:68: tls_host_gencert: Assertion `pf' failed.
abort (core dumped)  ./gmnisrv -C config.ini

after:

[gmnisrv] generating certificate for localhost
[gmnisrv] opening private key for writing failed: No such file or directory
[gmnisrv] TLS initialization failed

Signed-off-by: William Casarin <jb55@jb55.com>
This commit is contained in:
William Casarin 2020-11-07 10:57:36 -08:00 committed by Drew DeVault
parent 7aedbed774
commit ea40fb5a53

View File

@ -58,7 +58,7 @@ tls_host_gencert(struct gmnisrv_tls *tlsconf, struct gmnisrv_host *host,
assert(r); assert(r);
int pfd = open(keypath, O_CREAT | O_WRONLY, 0600); int pfd = open(keypath, O_CREAT | O_WRONLY, 0600);
if (!pfd) { if (pfd < 0) {
server_error("opening private key for writing failed: %s", server_error("opening private key for writing failed: %s",
strerror(errno)); strerror(errno));
return 1; return 1;