From 8b25b0eb991bf70123bedc4c4c4e0215dd8bd926 Mon Sep 17 00:00:00 2001 From: "Dr. David von Oheimb" Date: Mon, 26 Apr 2021 14:55:18 +0200 Subject: [PATCH] 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) --- crypto/store/store_lib.c | 2 +- doc/man3/BIO_ctrl.pod | 2 +- doc/man3/OSSL_STORE_open.pod | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/crypto/store/store_lib.c b/crypto/store/store_lib.c index 2c7c9f3226..e7f5860604 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 328382d7c9..b3108f83ef 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 61571be490..3d6d03a990 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. -- GitLab