summaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
authorChristoph M. Becker <cmbecker69@gmx.de>2017-09-06 23:40:55 +0200
committerChristoph M. Becker <cmbecker69@gmx.de>2017-09-06 23:41:46 +0200
commit5ce744091c4c51fae7e46d48d146f35479094e3a (patch)
tree79958e48bc898061366b0dfadf18d16af0bc84bc /ext
parentd78a7909c8cd6485d456550b2f9e811068f85bb5 (diff)
parentd724d8c1076dc6e7ca5665fe68753e71440655c1 (diff)
downloadphp-git-5ce744091c4c51fae7e46d48d146f35479094e3a.tar.gz
Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1: Fixed bug #44995 (bcpowmod() fails if scale != 0)
Diffstat (limited to 'ext')
-rw-r--r--ext/bcmath/libbcmath/src/divmod.c2
-rw-r--r--ext/bcmath/tests/bug44995.phpt16
2 files changed, 17 insertions, 1 deletions
diff --git a/ext/bcmath/libbcmath/src/divmod.c b/ext/bcmath/libbcmath/src/divmod.c
index d7aaa3509d..08c2f8a2a2 100644
--- a/ext/bcmath/libbcmath/src/divmod.c
+++ b/ext/bcmath/libbcmath/src/divmod.c
@@ -59,7 +59,7 @@ bc_divmod (bc_num num1, bc_num num2, bc_num *quot, bc_num *rem, int scale)
bc_init_num(&temp);
/* Calculate it. */
- bc_divide (num1, num2, &temp, scale);
+ bc_divide (num1, num2, &temp, 0);
if (quot)
quotient = bc_copy_num (temp);
bc_multiply (temp, num2, &temp, rscale);
diff --git a/ext/bcmath/tests/bug44995.phpt b/ext/bcmath/tests/bug44995.phpt
new file mode 100644
index 0000000000..6eb591f92b
--- /dev/null
+++ b/ext/bcmath/tests/bug44995.phpt
@@ -0,0 +1,16 @@
+--TEST--
+Bug #44995 (bcpowmod() fails if scale != 0)
+--SKIPIF--
+<?php
+if (!extension_loaded('bcmath')) die('skip bcmath extension not available');
+?>
+--FILE--
+<?php
+var_dump(bcpowmod('4', '4', '3', 1));
+var_dump(bcpowmod('3234', '32345', '22345', 1));
+?>
+===DONE===
+--EXPECT--
+string(3) "1.0"
+string(7) "17334.0"
+===DONE===