From 94425987688b8c95249984d0328cd857c466361e Mon Sep 17 00:00:00 2001 From: Wonki Kim Date: Tue, 18 Feb 2020 00:58:16 +0000 Subject: [PATCH] ecore_con: fix to check a return value of functions this path fixes to check a return value of functions. Reviewed-by: Marcel Hollerbach Differential Revision: https://phab.enlightenment.org/D11371 --- src/lib/ecore_con/efl_net_ssl_conn-openssl.c | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/src/lib/ecore_con/efl_net_ssl_conn-openssl.c b/src/lib/ecore_con/efl_net_ssl_conn-openssl.c index fc8fb2e95f..8e7339c2ea 100644 --- a/src/lib/ecore_con/efl_net_ssl_conn-openssl.c +++ b/src/lib/ecore_con/efl_net_ssl_conn-openssl.c @@ -152,12 +152,18 @@ __efl_net_socket_bio_get(void) if (efl_net_socket_bio) return efl_net_socket_bio; efl_net_socket_bio = BIO_meth_new(0x400 /* 0x400 means source & sink */, "efl_net_socket wrapper"); - BIO_meth_set_write(efl_net_socket_bio, efl_net_socket_bio_write); - BIO_meth_set_read(efl_net_socket_bio, efl_net_socket_bio_read); - BIO_meth_set_puts(efl_net_socket_bio, efl_net_socket_bio_puts); - BIO_meth_set_ctrl(efl_net_socket_bio, efl_net_socket_bio_ctrl); - BIO_meth_set_create(efl_net_socket_bio, efl_net_socket_bio_create); - BIO_meth_set_destroy(efl_net_socket_bio, efl_net_socket_bio_destroy); + if (!efl_net_socket_bio) return NULL; + if (!BIO_meth_set_write(efl_net_socket_bio, efl_net_socket_bio_write) + || !BIO_meth_set_read(efl_net_socket_bio, efl_net_socket_bio_read) + || !BIO_meth_set_puts(efl_net_socket_bio, efl_net_socket_bio_puts) + || !BIO_meth_set_ctrl(efl_net_socket_bio, efl_net_socket_bio_ctrl) + || !BIO_meth_set_create(efl_net_socket_bio, efl_net_socket_bio_create) + || !BIO_meth_set_destroy(efl_net_socket_bio, efl_net_socket_bio_destroy)) + { + BIO_meth_free(efl_net_socket_bio); + efl_net_socket_bio = NULL; + return NULL; + } // FIXME: some day we need to clean up, but for now a singleton alloc is ok // BIO_meth_free(efl_net_socket_bio); return efl_net_socket_bio;