@@ -389,6 +389,10 @@ int wolfSSL_BIO_read(WOLFSSL_BIO* bio, void* buf, int len)
389389 #endif
390390 break ;
391391
392+ case WOLFSSL_BIO_NULL :
393+ ret = 0 ;
394+ break ;
395+
392396 } /* switch */
393397 }
394398
@@ -813,6 +817,10 @@ int wolfSSL_BIO_write(WOLFSSL_BIO* bio, const void* data, int len)
813817 #endif
814818 break ;
815819
820+ case WOLFSSL_BIO_NULL :
821+ ret = len ;
822+ break ;
823+
816824 } /* switch */
817825 }
818826
@@ -1161,6 +1169,10 @@ int wolfSSL_BIO_gets(WOLFSSL_BIO* bio, char* buf, int sz)
11611169 break ;
11621170#endif /* WOLFCRYPT_ONLY */
11631171
1172+ case WOLFSSL_BIO_NULL :
1173+ ret = 0 ;
1174+ break ;
1175+
11641176 default :
11651177 WOLFSSL_MSG ("BIO type not supported yet with wolfSSL_BIO_gets" );
11661178 }
@@ -1908,7 +1920,7 @@ long wolfSSL_BIO_set_mem_eof_return(WOLFSSL_BIO *bio, int v)
19081920
19091921int wolfSSL_BIO_get_len (WOLFSSL_BIO * bio )
19101922{
1911- int len ;
1923+ int len = 0 ;
19121924#ifndef NO_FILESYSTEM
19131925 long memSz = 0 ;
19141926 XFILE file ;
@@ -2309,6 +2321,15 @@ int wolfSSL_BIO_flush(WOLFSSL_BIO* bio)
23092321 return & meth ;
23102322 }
23112323
2324+ WOLFSSL_BIO_METHOD * wolfSSL_BIO_s_null (void )
2325+ {
2326+ static WOLFSSL_BIO_METHOD meth =
2327+ WOLFSSL_BIO_METHOD_INIT (WOLFSSL_BIO_NULL );
2328+
2329+ WOLFSSL_ENTER ("wolfSSL_BIO_s_null" );
2330+
2331+ return & meth ;
2332+ }
23122333
23132334 WOLFSSL_BIO_METHOD * wolfSSL_BIO_s_socket (void )
23142335 {
@@ -2353,7 +2374,6 @@ int wolfSSL_BIO_flush(WOLFSSL_BIO* bio)
23532374
23542375 WOLFSSL_ENTER ("wolfSSL_BIO_new_dgram" );
23552376 if (bio ) {
2356- bio -> type = WOLFSSL_BIO_DGRAM ;
23572377 bio -> shutdown = (byte )closeF ;
23582378 bio -> num .fd = (SOCKET_T )fd ;
23592379 }
0 commit comments