summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnatol Belski <ab@php.net>2017-06-09 23:47:15 +0200
committerAnatol Belski <ab@php.net>2017-06-09 23:47:15 +0200
commit0fa40b054618317bfe5e076da614da27b4304fa4 (patch)
tree57ff40f1b5363f1cfa4281222df2c27fd468f7ba
parent6d46528d54dc5ffc9242d23aaa2d15332b5ebd17 (diff)
downloadphp-git-0fa40b054618317bfe5e076da614da27b4304fa4.tar.gz
group the change for bug #74720
-rw-r--r--ext/openssl/openssl.c14
1 files changed, 11 insertions, 3 deletions
diff --git a/ext/openssl/openssl.c b/ext/openssl/openssl.c
index 4adf9cb8f9..8418e4030c 100644
--- a/ext/openssl/openssl.c
+++ b/ext/openssl/openssl.c
@@ -87,6 +87,14 @@
#define HAVE_EVP_PKEY_EC 1
#endif
+#ifdef PHP_WIN32
+#define PHP_OPENSSL_BIO_MODE_R(flags) (((flags) & PKCS7_BINARY) ? "rb" : "r")
+#define PHP_OPENSSL_BIO_MODE_W(flags) (((flags) & PKCS7_BINARY) ? "wb" : "w")
+#else
+#define PHP_OPENSSL_BIO_MODE_R(flags) "r"
+#define PHP_OPENSSL_BIO_MODE_W(flags) "w"
+#endif
+
ZEND_DECLARE_MODULE_GLOBALS(openssl)
/* FIXME: Use the openssl constants instead of
@@ -5008,7 +5016,7 @@ PHP_FUNCTION(openssl_pkcs7_verify)
goto clean_exit;
}
- in = BIO_new_file(filename, (flags & PKCS7_BINARY) ? "rb" : "r");
+ in = BIO_new_file(filename, PHP_OPENSSL_BIO_MODE_R(flags));
if (in == NULL) {
php_openssl_store_errors();
goto clean_exit;
@@ -5120,7 +5128,7 @@ PHP_FUNCTION(openssl_pkcs7_encrypt)
return;
}
- infile = BIO_new_file(infilename, (flags & PKCS7_BINARY) ? "rb" : "r");
+ infile = BIO_new_file(infilename, PHP_OPENSSL_BIO_MODE_R(flags));
if (infile == NULL) {
php_openssl_store_errors();
goto clean_exit;
@@ -5278,7 +5286,7 @@ PHP_FUNCTION(openssl_pkcs7_sign)
goto clean_exit;
}
- infile = BIO_new_file(infilename, (flags & PKCS7_BINARY) ? "rb" : "r");
+ infile = BIO_new_file(infilename, PHP_OPENSSL_BIO_MODE_R(flags));
if (infile == NULL) {
php_openssl_store_errors();
php_error_docref(NULL, E_WARNING, "error opening input file %s!", infilename);