From: thomas dot hebinck at digionline dot de
Operating system: Ubuntu
PHP version: 5.3.0
PHP Bug Type: GNU MP related
Bug description: gmp_init() results 0 on given base and number starting with
0x or 0b
Description:
------------
When calling gmp_init() with a *string* starting with 0x or 0b and a given
base, 0 is returned (except if the base is 16).
Tested with PHP 5.2.3, PHP 5.3 and PHP 5.3-200911141130.
Reproduce code:
---------------
for($base=2;$base<=36;$base++) {
echo '<br>'.$base.': ';
for($i=1;$i<$base;$i++) {
$c=($i<=9?$i:chr($i-10+ord('a')));
$s='0'.$c.$c;
echo gmp_strval(gmp_init($s,$base),$base) . ' ';
}
}
Expected result:
----------------
2: 11
3: 11 22
4: 11 22 33
5: 11 22 33 44
6: 11 22 33 44 55
7: 11 22 33 44 55 66
8: 11 22 33 44 55 66 77
9: 11 22 33 44 55 66 77 88
10: 11 22 33 44 55 66 77 88 99
11: 11 22 33 44 55 66 77 88 99 aa
12: 11 22 33 44 55 66 77 88 99 aa bb
13: 11 22 33 44 55 66 77 88 99 aa bb cc
14: 11 22 33 44 55 66 77 88 99 aa bb cc dd
15: 11 22 33 44 55 66 77 88 99 aa bb cc dd ee
16: 11 22 33 44 55 66 77 88 99 aa bb cc dd ee ff
17: 11 22 33 44 55 66 77 88 99 aa bb cc dd ee ff gg
18: 11 22 33 44 55 66 77 88 99 aa bb cc dd ee ff gg hh
19: 11 22 33 44 55 66 77 88 99 aa bb cc dd ee ff gg hh ii
20: 11 22 33 44 55 66 77 88 99 aa bb cc dd ee ff gg hh ii jj
21: 11 22 33 44 55 66 77 88 99 aa bb cc dd ee ff gg hh ii jj kk
22: 11 22 33 44 55 66 77 88 99 aa bb cc dd ee ff gg hh ii jj kk ll
23: 11 22 33 44 55 66 77 88 99 aa bb cc dd ee ff gg hh ii jj kk ll mm
24: 11 22 33 44 55 66 77 88 99 aa bb cc dd ee ff gg hh ii jj kk ll mm nn
25: 11 22 33 44 55 66 77 88 99 aa bb cc dd ee ff gg hh ii jj kk ll mm nn
oo
26: 11 22 33 44 55 66 77 88 99 aa bb cc dd ee ff gg hh ii jj kk ll mm nn
oo pp
27: 11 22 33 44 55 66 77 88 99 aa bb cc dd ee ff gg hh ii jj kk ll mm nn
oo pp qq
28: 11 22 33 44 55 66 77 88 99 aa bb cc dd ee ff gg hh ii jj kk ll mm nn
oo pp qq rr
29: 11 22 33 44 55 66 77 88 99 aa bb cc dd ee ff gg hh ii jj kk ll mm nn
oo pp qq rr ss
30: 11 22 33 44 55 66 77 88 99 aa bb cc dd ee ff gg hh ii jj kk ll mm nn
oo pp qq rr ss tt
31: 11 22 33 44 55 66 77 88 99 aa bb cc dd ee ff gg hh ii jj kk ll mm nn
oo pp qq rr ss tt uu
32: 11 22 33 44 55 66 77 88 99 aa bb cc dd ee ff gg hh ii jj kk ll mm nn
oo pp qq rr ss tt uu vv
33: 11 22 33 44 55 66 77 88 99 aa bb cc dd ee ff gg hh ii jj kk ll mm nn
oo pp qq rr ss tt uu vv ww
34: 11 22 33 44 55 66 77 88 99 aa bb cc dd ee ff gg hh ii jj kk ll mm nn
oo pp qq rr ss tt uu vv ww xx
35: 11 22 33 44 55 66 77 88 99 aa bb cc dd ee ff gg hh ii jj kk ll mm nn
oo pp qq rr ss tt uu vv ww xx yy
36: 11 22 33 44 55 66 77 88 99 aa bb cc dd ee ff gg hh ii jj kk ll mm nn
oo pp qq rr ss tt uu vv ww xx yy zz
Actual result:
--------------
2: 11
3: 11 22
4: 11 22 33
5: 11 22 33 44
6: 11 22 33 44 55
7: 11 22 33 44 55 66
8: 11 22 33 44 55 66 77
9: 11 22 33 44 55 66 77 88
10: 11 22 33 44 55 66 77 88 99
11: 11 22 33 44 55 66 77 88 99 aa
12: 11 22 33 44 55 66 77 88 99 aa 0
13: 11 22 33 44 55 66 77 88 99 aa 0 cc
14: 11 22 33 44 55 66 77 88 99 aa 0 cc dd
15: 11 22 33 44 55 66 77 88 99 aa 0 cc dd ee
16: 11 22 33 44 55 66 77 88 99 aa bb cc dd ee ff
17: 11 22 33 44 55 66 77 88 99 aa 0 cc dd ee ff gg
18: 11 22 33 44 55 66 77 88 99 aa 0 cc dd ee ff gg hh
19: 11 22 33 44 55 66 77 88 99 aa 0 cc dd ee ff gg hh ii
20: 11 22 33 44 55 66 77 88 99 aa 0 cc dd ee ff gg hh ii jj
21: 11 22 33 44 55 66 77 88 99 aa 0 cc dd ee ff gg hh ii jj kk
22: 11 22 33 44 55 66 77 88 99 aa 0 cc dd ee ff gg hh ii jj kk ll
23: 11 22 33 44 55 66 77 88 99 aa 0 cc dd ee ff gg hh ii jj kk ll mm
24: 11 22 33 44 55 66 77 88 99 aa 0 cc dd ee ff gg hh ii jj kk ll mm nn
25: 11 22 33 44 55 66 77 88 99 aa 0 cc dd ee ff gg hh ii jj kk ll mm nn oo
26: 11 22 33 44 55 66 77 88 99 aa 0 cc dd ee ff gg hh ii jj kk ll mm nn oo
pp
27: 11 22 33 44 55 66 77 88 99 aa 0 cc dd ee ff gg hh ii jj kk ll mm nn oo
pp qq
28: 11 22 33 44 55 66 77 88 99 aa 0 cc dd ee ff gg hh ii jj kk ll mm nn oo
pp qq rr
29: 11 22 33 44 55 66 77 88 99 aa 0 cc dd ee ff gg hh ii jj kk ll mm nn oo
pp qq rr ss
30: 11 22 33 44 55 66 77 88 99 aa 0 cc dd ee ff gg hh ii jj kk ll mm nn oo
pp qq rr ss tt
31: 11 22 33 44 55 66 77 88 99 aa 0 cc dd ee ff gg hh ii jj kk ll mm nn oo
pp qq rr ss tt uu
32: 11 22 33 44 55 66 77 88 99 aa 0 cc dd ee ff gg hh ii jj kk ll mm nn oo
pp qq rr ss tt uu vv
33: 11 22 33 44 55 66 77 88 99 aa 0 cc dd ee ff gg hh ii jj kk ll mm nn oo
pp qq rr ss tt uu vv ww
34: 11 22 33 44 55 66 77 88 99 aa 0 cc dd ee ff gg hh ii jj kk ll mm nn oo
pp qq rr ss tt uu vv ww 0
35: 11 22 33 44 55 66 77 88 99 aa 0 cc dd ee ff gg hh ii jj kk ll mm nn oo
pp qq rr ss tt uu vv ww 0 yy
36: 11 22 33 44 55 66 77 88 99 aa 0 cc dd ee ff gg hh ii jj kk ll mm nn oo
pp qq rr ss tt uu vv ww 0 yy zz
--
Edit bug report at http://bugs.php.net/?id=50175&edit=1
--
Try a snapshot (PHP 5.2):
http://bugs.php.net/fix.php?id=50175&r=trysnapshot52
Try a snapshot (PHP 5.3):
http://bugs.php.net/fix.php?id=50175&r=trysnapshot53
Try a snapshot (PHP 6.0):
http://bugs.php.net/fix.php?id=50175&r=trysnapshot60
Fixed in SVN:
http://bugs.php.net/fix.php?id=50175&r=fixed
Fixed in SVN and need be documented:
http://bugs.php.net/fix.php?id=50175&r=needdocs
Fixed in release:
http://bugs.php.net/fix.php?id=50175&r=alreadyfixed
Need backtrace:
http://bugs.php.net/fix.php?id=50175&r=needtrace
Need Reproduce Script:
http://bugs.php.net/fix.php?id=50175&r=needscript
Try newer version:
http://bugs.php.net/fix.php?id=50175&r=oldversion
Not developer issue:
http://bugs.php.net/fix.php?id=50175&r=support
Expected behavior:
http://bugs.php.net/fix.php?id=50175&r=notwrong
Not enough info:
http://bugs.php.net/fix.php?id=50175&r=notenoughinfo
Submitted twice:
http://bugs.php.net/fix.php?id=50175&r=submittedtwice
register_globals:
http://bugs.php.net/fix.php?id=50175&r=globals
PHP 4 support discontinued: http://bugs.php.net/fix.php?id=50175&r=php4
Daylight Savings: http://bugs.php.net/fix.php?id=50175&r=dst
IIS Stability:
http://bugs.php.net/fix.php?id=50175&r=isapi
Install GNU Sed:
http://bugs.php.net/fix.php?id=50175&r=gnused
Floating point limitations:
http://bugs.php.net/fix.php?id=50175&r=float
No Zend Extensions:
http://bugs.php.net/fix.php?id=50175&r=nozend
MySQL Configuration Error:
http://bugs.php.net/fix.php?id=50175&r=mysqlcfg