codefog / contao-haste

Haste is a collection of tools and classes to ease working with Contao
http://codefog.pl/extension/haste.html
MIT License
43 stars 24 forks source link

Die Suche nach ## mit strpos führt zu unendlicher Rekursion, wenn '##' einfach so im Text steht. #76

Closed ralfhartmann closed 7 years ago

ralfhartmann commented 8 years ago

https://github.com/codefog/contao-haste/blob/master/library/Haste/Util/StringUtil.php#L67

Aufgefallen ist mir das, weil ich versehentlich ein inserttag mit vier statt zwei # abgeschlossen hatte.

$strBuffer != $strText schützt hier nicht, weil $strText durch https://github.com/codefog/contao-haste/blob/master/library/Haste/Util/StringUtil.php#L50-L54 verändert wird, nicht aber $strBuffer (bzw. weil dort wieder zurück-ersetzt wurde). https://github.com/codefog/contao-haste/blob/master/library/Haste/Util/StringUtil.php#L67

Aufgefallen ist mir das, weil ich versehentlich ein inserttag mit vier statt zwei # abgeschlossen hatte.

$strBuffer != $strText schützt hier nicht, weil $strText durch https://github.com/codefog/contao-haste/blob/master/library/Haste/Util/StringUtil.php#L50-L54 verändert wird, nicht aber $strBuffer (bzw. weil dort wieder zurück-ersetzt wurde).

Toflar commented 8 years ago

Hi Ralf,

Kannst du uns dein Beispiel senden, damit wir den Fall reproduzieren können? Wie sieht dein initialer $strText aus und was enthält dein $arrTokens?

aschempp commented 8 years ago

Ich denke das Problem liegt eher an Zeile 63 und 75 (https://github.com/codefog/contao-haste/blob/master/library/Haste/Util/StringUtil.php#L63-L75). Verwendest du HTML in deinem problemfall?

ralfhartmann commented 8 years ago

Ja, ich verwende html. Ich hatte das damals im Debugger analysiert aber noch keine Lust, das zu reparieren. Statt dessen habe ich die überzähligen ## entfernt.