From: Dr. David von Oheimb Date: Mon, 26 Apr 2021 12:55:18 +0000 (+0200) Subject: BIO_eof() and OSSL_STORE_eof(): Make sure to return 1 on error; improve related doc X-Git-Tag: openssl-3.0.0-alpha16~36 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8b25b0eb991bf70123bedc4c4c4e0215dd8bd926;p=thirdparty%2Fopenssl.git BIO_eof() and OSSL_STORE_eof(): Make sure to return 1 on error; improve related doc Reviewed-by: Tomas Mraz (Merged from https://github.com/openssl/openssl/pull/15029) --- diff --git a/crypto/store/store_lib.c b/crypto/store/store_lib.c index 2c7c9f32267..e7f58606042 100644 --- a/crypto/store/store_lib.c +++ b/crypto/store/store_lib.c @@ -463,7 +463,7 @@ int OSSL_STORE_eof(OSSL_STORE_CTX *ctx) if (ctx->fetched_loader == NULL) ret = ctx->loader->eof(ctx->loader_ctx); #endif - return ret; + return ret != 0; } static int ossl_store_close_it(OSSL_STORE_CTX *ctx) diff --git a/doc/man3/BIO_ctrl.pod b/doc/man3/BIO_ctrl.pod index 328382d7c99..b3108f83ef5 100644 --- a/doc/man3/BIO_ctrl.pod +++ b/doc/man3/BIO_ctrl.pod @@ -92,7 +92,7 @@ for success and -1 for failure. BIO_flush() returns 1 for success and 0 or -1 for failure. -BIO_eof() returns 1 if EOF has been reached 0 otherwise. +BIO_eof() returns 1 if EOF has been reached, 0 if not, or -1 for failure. BIO_set_close() always returns 1. diff --git a/doc/man3/OSSL_STORE_open.pod b/doc/man3/OSSL_STORE_open.pod index 61571be490c..3d6d03a990f 100644 --- a/doc/man3/OSSL_STORE_open.pod +++ b/doc/man3/OSSL_STORE_open.pod @@ -143,8 +143,8 @@ on error or when end of data is reached. Use OSSL_STORE_error() and OSSL_STORE_eof() to determine the meaning of a returned NULL. -OSSL_STORE_eof() returns 1 if the end of data has been reached, otherwise -0. +OSSL_STORE_eof() returns 1 if the end of data has been reached +or an error occurred, 0 otherwise. OSSL_STORE_error() returns 1 if an error occurred in an OSSL_STORE_load() call, otherwise 0.