diff --git a/src/bio.c b/src/bio.c index 127dd4b75..85d7b1fd8 100644 --- a/src/bio.c +++ b/src/bio.c @@ -364,7 +364,10 @@ int wolfSSL_BIO_read(WOLFSSL_BIO* bio, void* buf, int len) bio->peer_addr = wolfSSL_BIO_ADDR_new(); else wolfSSL_BIO_ADDR_clear(bio->peer_addr); - ret = wolfIO_RecvFrom(bio->num, bio->peer_addr, (char*)buf, len, 0); + if (bio->peer_addr == NULL) + ret = wolfIO_RecvFrom(bio->num, bio->peer_addr, (char*)buf, len, 0); + else + ret = MEMORY_E; } #else ret = NOT_COMPILED_IN;