preg_match_all -> integer overflow in memory allocation

yaniks

новичок
preg_match_all -> integer overflow in memory allocation

Доброго времени суток.

Fatal error: Possible integer overflow in memory allocation (2035847523 * 4 + 0)

Хреново у меня с англицким, я так понимаю (через переводчик)

Возможное переполнение целого на распределении памяти

выпадает ошибка на строку
preg_match_all ("#\{([\w]+)\}(.*)\{\/\\1\}#ism",$string,$arr, PREG_SET_ORDER);

Ошибка не постоянная, переодическая, т.е можно рефрешить страницу, ошибка иногда появляется, чаще нет.

теперь вопрос :)
что и чего переполняет?
 

netdog

net @
судя по всему у тебя какой то хитрый большой текст также какая-то хитрая, возможно кривая рега ... в следствие чего иногда переполняется буффер какой-то ;)
 

yaniks

новичок
возможно и кривая, но моя :)
На больших текстах кстати она не обламывается, проблему встретил только у одного хостера, т.е только сейчас.

> в следствие чего иногда переполняется буффер какой-то
в том то и вопрос какой ....
 

netdog

net @
покаж формат текста(кусочек не очень большой) который ты парсишь этим
 

yaniks

новичок
> покаж формат текста
простой html шаблон и некоторые {VARS} внутри

> обновить PHP
Ну да :), мне проще на пхп5 перевести, чем хостера заставить 4.3.х обновить

мне больше интересно почему при рефреше иногда срабатывает без ошибок, а иногда именно так.
т.е. условия работы скрипта не меняются

а вообще bug #28317 про переполнения стека non-Unix систем
а у меня баг выскакивает на

FreeBSD 4.9-RELEASE-ENN-1.1 #0: i386
PHP Version 4.3.8
 
Сверху