BUG : php function unserialize not working
darkworks opened this issue · comments
thanks for creating the amazing library , i have found issue with unserialize
function it work with small data but not with big serialzied data can u guys pls check it out
sample code
var unserialize = require('locutus/php/var/unserialize');
var php_serialzed_data = 'a:11:{s:4:"name";s:2:"c3";s:9:"footprint";s:10:"1608[0603]";s:8:"width_mm";s:3:"0.9";s:9:"length_mm";s:3:"2.2";s:10:"total_pads";s:1:"2";s:9:"pad_sizes";a:2:{s:4:"left";a:4:{s:5:"width";s:4:"2.55";s:6:"length";s:4:"2.27";s:8:"width_mm";s:3:"0.9";s:9:"length_mm";s:3:"0.8";}s:5:"right";a:4:{s:5:"width";s:4:"2.55";s:6:"length";s:4:"2.27";s:8:"width_mm";s:3:"0.9";s:9:"length_mm";s:3:"0.8";}}s:19:"internal_spacing_mm";s:3:"2.2";s:11:"center_pads";s:1:"2";s:3:"mpn";s:13:"399-1095-1-ND";s:10:"visibility";s:4:"true";s:5:"valid";s:7:"pending";}';
console.log(php_serialzed_data+"\n\n");
var data = unserialize(php_serialzed_data);
console.log(data);
giving me error
RangeError: Invalid array length
at expectArrayItems (/home/runner/unserialize-php-serialized-data-in-js/node_modules/locutus/php/var/unserialize.js:379:19)
at expectArray (/home/runner/unserialize-php-serialized-data-in-js/node_modules/locutus/php/var/unserialize.js:340:15)
at expectType (/home/runner/unserialize-php-serialized-data-in-js/node_modules/locutus/php/var/unserialize.js:46:14)
at expectArrayItems (/home/runner/unserialize-php-serialized-data-in-js/node_modules/locutus/php/var/unserialize.js:375:12)
at expectArray (/home/runner/unserialize-php-serialized-data-in-js/node_modules/locutus/php/var/unserialize.js:340:15)
at expectType (/home/runner/unserialize-php-serialized-data-in-js/node_modules/locutus/php/var/unserialize.js:46:14)
at expectArrayItems (/home/runner/unserialize-php-serialized-data-in-js/node_modules/locutus/php/var/unserialize.js:375:12)
at expectArray (/home/runner/unserialize-php-serialized-data-in-js/node_modules/locutus/php/var/unserialize.js:340:15)
at expectType (/home/runner/unserialize-php-serialized-data-in-js/node_modules/locutus/php/var/unserialize.js:46:14)
false
Hint: hit control+c anytime to enter REPL.
i tested it on : https://replit.com/
thanks
Hi @darkworks . Thank you for reporting the bug. I'm on it. I think I already know the problem, now need to figure out a fix.
@kvz can you please do another release with this bugfix?