There is no need to use OPENSSL_malloc(), so use our own functions that automatically check for NULL and remove the now redundant NULL check.
Signed-off-by: Steffan Karger <stef...@karger.me> --- src/openvpn/ssl_openssl.c | 33 +++++++++++++-------------------- 1 file changed, 13 insertions(+), 20 deletions(-) diff --git a/src/openvpn/ssl_openssl.c b/src/openvpn/ssl_openssl.c index c08d4fe..c5543fe 100644 --- a/src/openvpn/ssl_openssl.c +++ b/src/openvpn/ssl_openssl.c @@ -1447,31 +1447,24 @@ show_available_curves() size_t n = 0; crv_len = EC_get_builtin_curves(NULL, 0); - - curves = OPENSSL_malloc((int)(sizeof(EC_builtin_curve) * crv_len)); - - if (curves == NULL) - crypto_msg (M_FATAL, "Cannot create EC_builtin_curve object"); - else + ALLOC_ARRAY(curves, EC_builtin_curve, crv_len); + if (EC_get_builtin_curves(curves, crv_len)) { - if (EC_get_builtin_curves(curves, crv_len)) + printf ("Available Elliptic curves:\n"); + for (n = 0; n < crv_len; n++) { - printf ("Available Elliptic curves:\n"); - for (n = 0; n < crv_len; n++) - { - const char *sname; - sname = OBJ_nid2sn(curves[n].nid); - if (sname == NULL) sname = ""; + const char *sname; + sname = OBJ_nid2sn(curves[n].nid); + if (sname == NULL) sname = ""; - printf("%s\n", sname); - } + printf("%s\n", sname); } - else - { - crypto_msg (M_FATAL, "Cannot get list of builtin curves"); - } - OPENSSL_free(curves); } + else + { + crypto_msg (M_FATAL, "Cannot get list of builtin curves"); + } + free(curves); #else msg (M_WARN, "Your OpenSSL library was built without elliptic curve support. " "No curves available."); -- 2.1.4