From f20aa69e33a7b418e052cf210374e2267cb93a5c Mon Sep 17 00:00:00 2001 From: Andy Polyakov Date: Thu, 19 Jul 2018 15:28:34 +0200 Subject: [PATCH] crypto/*: address standard-compilance nits. Reviewed-by: Rich Salz Reviewed-by: Kurt Roeckx (Merged from https://github.com/openssl/openssl/pull/6745) --- crypto/conf/conf_def.c | 6 +++++- crypto/store/loader_file.c | 6 +++++- crypto/ui/ui_openssl.c | 2 +- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/crypto/conf/conf_def.c b/crypto/conf/conf_def.c index 7340a91ae4..676540cc6c 100644 --- a/crypto/conf/conf_def.c +++ b/crypto/conf/conf_def.c @@ -27,6 +27,10 @@ # endif #endif +#ifndef S_ISDIR +# define S_ISDIR(a) (((a) & S_IFMT) == S_IFDIR) +#endif + /* * The maximum length we can grow a value to after variable expansion. 64k * should be more than enough for all reasonable uses. @@ -656,7 +660,7 @@ static BIO *process_include(char *include, OPENSSL_DIR_CTX **dirctx, return NULL; } - if ((st.st_mode & S_IFDIR) == S_IFDIR) { + if (S_ISDIR(st.st_mode)) { if (*dirctx != NULL) { CONFerr(CONF_F_PROCESS_INCLUDE, CONF_R_RECURSIVE_DIRECTORY_INCLUDE); diff --git a/crypto/store/loader_file.c b/crypto/store/loader_file.c index 25ada81721..632e4511f7 100644 --- a/crypto/store/loader_file.c +++ b/crypto/store/loader_file.c @@ -35,6 +35,10 @@ # define stat _stat #endif +#ifndef S_ISDIR +# define S_ISDIR(a) (((a) & S_IFMT) == S_IFDIR) +#endif + /*- * Password prompting * ------------------ @@ -839,7 +843,7 @@ static OSSL_STORE_LOADER_CTX *file_open(const OSSL_STORE_LOADER *loader, return NULL; } - if ((st.st_mode & S_IFDIR) == S_IFDIR) { + if (S_ISDIR(st.st_mode)) { /* * Try to copy everything, even if we know that some of them must be * NULL for the moment. This prevents errors in the future, when more diff --git a/crypto/ui/ui_openssl.c b/crypto/ui/ui_openssl.c index 9f13c14bca..45d48202b5 100644 --- a/crypto/ui/ui_openssl.c +++ b/crypto/ui/ui_openssl.c @@ -43,7 +43,7 @@ * If unistd.h defines _POSIX_VERSION, we conclude that we are on a POSIX * system and have sigaction and termios. */ -# if defined(_POSIX_VERSION) +# if defined(_POSIX_VERSION) && _POSIX_VERSION>=199309L # define SIGACTION # if !defined(TERMIOS) && !defined(TERMIO) && !defined(SGTTY) -- 2.34.1