bu5hm4n pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=94425987688b8c95249984d0328cd857c466361e

commit 94425987688b8c95249984d0328cd857c466361e
Author: Wonki Kim <[email protected]>
Date:   Tue Feb 18 00:58:16 2020 +0000

    ecore_con: fix to check a return value of functions
    
    this path fixes to check a return value of functions.
    
    Reviewed-by: Marcel Hollerbach <[email protected]>
    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;

-- 


Reply via email to