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