The diff below just removes NULL checks before various LibreSSL *_free()
calls, on the assumption that that's the preferred usage where it's
documented that *_free(NULL) is safe.
[Note that the behaviour of X509_REQ_free(NULL) and X509_NAME_free(NULL)
is not documented in the man pages, so those calls in keyproc.c are not
modified in this diff.]
Ross
Index: acctproc.c
===================================================================
RCS file: /cvs/src/usr.sbin/acme-client/acctproc.c,v
retrieving revision 1.11
diff -u -p -r1.11 acctproc.c
--- acctproc.c 24 Jan 2017 13:32:55 -0000 1.11
+++ acctproc.c 28 Jul 2018 12:39:19 -0000
@@ -393,8 +393,7 @@ out:
close(netsock);
if (f != NULL)
fclose(f);
- if (pkey != NULL)
- EVP_PKEY_free(pkey);
+ EVP_PKEY_free(pkey);
ERR_print_errors_fp(stderr);
ERR_free_strings();
return rc;
Index: certproc.c
===================================================================
RCS file: /cvs/src/usr.sbin/acme-client/certproc.c,v
retrieving revision 1.10
diff -u -p -r1.10 certproc.c
--- certproc.c 24 Jan 2017 13:32:55 -0000 1.10
+++ certproc.c 28 Jul 2018 12:39:19 -0000
@@ -231,10 +231,8 @@ certproc(int netsock, int filesock)
out:
close(netsock);
close(filesock);
- if (x != NULL)
- X509_free(x);
- if (chainx != NULL)
- X509_free(chainx);
+ X509_free(x);
+ X509_free(chainx);
free(csr);
free(url);
free(chain);
Index: keyproc.c
===================================================================
RCS file: /cvs/src/usr.sbin/acme-client/keyproc.c,v
retrieving revision 1.9
diff -u -p -r1.9 keyproc.c
--- keyproc.c 26 Mar 2017 18:41:02 -0000 1.9
+++ keyproc.c 28 Jul 2018 12:39:19 -0000
@@ -256,8 +256,7 @@ out:
X509_REQ_free(x);
if (name != NULL)
X509_NAME_free(name);
- if (pkey != NULL)
- EVP_PKEY_free(pkey);
+ EVP_PKEY_free(pkey);
ERR_print_errors_fp(stderr);
ERR_free_strings();
return (rc);
Index: revokeproc.c
===================================================================
RCS file: /cvs/src/usr.sbin/acme-client/revokeproc.c,v
retrieving revision 1.13
diff -u -p -r1.13 revokeproc.c
--- revokeproc.c 8 Jul 2017 13:37:23 -0000 1.13
+++ revokeproc.c 28 Jul 2018 12:39:19 -0000
@@ -335,10 +335,8 @@ out:
close(fd);
if (f != NULL)
fclose(f);
- if (x != NULL)
- X509_free(x);
- if (bio != NULL)
- BIO_free(bio);
+ X509_free(x);
+ BIO_free(bio);
free(san);
free(path);
free(der);
Index: rsa.c
===================================================================
RCS file: /cvs/src/usr.sbin/acme-client/rsa.c,v
retrieving revision 1.6
diff -u -p -r1.6 rsa.c
--- rsa.c 24 Jan 2017 13:32:55 -0000 1.6
+++ rsa.c 28 Jul 2018 12:39:19 -0000
@@ -62,12 +62,10 @@ rsa_key_create(FILE *f, const char *fnam
warnx("%s: PEM_write_PrivateKey", fname);
err:
- if (pkey != NULL)
- EVP_PKEY_free(pkey);
+ EVP_PKEY_free(pkey);
pkey = NULL;
out:
- if (ctx != NULL)
- EVP_PKEY_CTX_free(ctx);
+ EVP_PKEY_CTX_free(ctx);
return pkey;
}