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

Reply via email to