From: Richard Levitte Date: Sat, 16 Mar 2019 11:07:35 +0000 (+0100) Subject: Fix no-posix-io X-Git-Tag: openssl-3.0.0-alpha1~2339 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=93b1e74cbeaf117658dd1dfc868bd70d9f7ffc65;p=oweals%2Fopenssl.git Fix no-posix-io 'openssl pkeyutl' uses stat() to determine the file size when signing using Ed25519/Ed448, and this was guarded with OPENSSL_NO_POSIX_IO. It is however arguable if stat() is a POSIX IO function, considering that it doesn't use file descriptors, and even more so since we use stat() elsewhere without that guard. This will allow test/recipes/20-test_pkeyutl.t to be able to do its work for Ed25519/Ed448 signature tests. Reviewed-by: Matt Caswell Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/8498) --- diff --git a/apps/pkeyutl.c b/apps/pkeyutl.c index 0c27589b1b..7f1e6213e6 100644 --- a/apps/pkeyutl.c +++ b/apps/pkeyutl.c @@ -13,9 +13,7 @@ #include #include #include -#ifndef OPENSSL_NO_POSIX_IO -# include -#endif +#include #define KEY_NONE 0 #define KEY_PRIVKEY 1 @@ -348,15 +346,12 @@ int pkeyutl_main(int argc, char **argv) if (pkey_op != EVP_PKEY_OP_DERIVE) { in = bio_open_default(infile, 'r', FORMAT_BINARY); -#ifndef OPENSSL_NO_POSIX_IO - if (infile != NULL) - { + if (infile != NULL) { struct stat st; if (stat(infile, &st) == 0 && st.st_size <= INT_MAX) filesize = (int)st.st_size; } -#endif if (in == NULL) goto end; }