Skip to content

Commit

Permalink
remove recursion to make the fuzzer happy
Browse files Browse the repository at this point in the history
  • Loading branch information
rbri committed Jan 19, 2023
1 parent 71f7623 commit 4ee1862
Showing 1 changed file with 24 additions and 21 deletions.
45 changes: 24 additions & 21 deletions src/main/java/com/gargoylesoftware/htmlunit/html/DomNode.java
Original file line number Diff line number Diff line change
Expand Up @@ -1704,14 +1704,15 @@ public void removeDomChangeListener(final DomChangeListener listener) {
* @param event the DomChangeEvent to be propagated
*/
protected void fireNodeAdded(final DomChangeEvent event) {
final List<DomChangeListener> listeners = safeGetDomListeners();
if (listeners != null) {
for (final DomChangeListener listener : listeners) {
listener.nodeAdded(event);
DomNode toInform = this;
while (toInform != null) {
final List<DomChangeListener> listeners = toInform.safeGetDomListeners();
if (listeners != null) {
for (final DomChangeListener listener : listeners) {
listener.nodeAdded(event);
}
}
}
if (parent_ != null) {
parent_.fireNodeAdded(event);
toInform = toInform.getParentNode();
}
}

Expand Down Expand Up @@ -1760,14 +1761,15 @@ public void removeCharacterDataChangeListener(final CharacterDataChangeListener
* @param event the CharacterDataChangeEvent to be propagated
*/
protected void fireCharacterDataChanged(final CharacterDataChangeEvent event) {
final List<CharacterDataChangeListener> listeners = safeGetCharacterDataListeners();
if (listeners != null) {
for (final CharacterDataChangeListener listener : listeners) {
listener.characterDataChanged(event);
DomNode toInform = this;
while (toInform != null) {
final List<CharacterDataChangeListener> listeners = safeGetCharacterDataListeners();
if (listeners != null) {
for (final CharacterDataChangeListener listener : listeners) {
listener.characterDataChanged(event);
}
}
}
if (parent_ != null) {
parent_.fireCharacterDataChanged(event);
toInform = toInform.getParentNode();
}
}

Expand All @@ -1780,14 +1782,15 @@ protected void fireCharacterDataChanged(final CharacterDataChangeEvent event) {
* @param event the DomChangeEvent to be propagated
*/
protected void fireNodeDeleted(final DomChangeEvent event) {
final List<DomChangeListener> listeners = safeGetDomListeners();
if (listeners != null) {
for (final DomChangeListener listener : listeners) {
listener.nodeDeleted(event);
DomNode toInform = this;
while (toInform != null) {
final List<DomChangeListener> listeners = toInform.safeGetDomListeners();
if (listeners != null) {
for (final DomChangeListener listener : listeners) {
listener.nodeDeleted(event);
}
}
}
if (parent_ != null) {
parent_.fireNodeDeleted(event);
toInform = toInform.getParentNode();
}
}

Expand Down

0 comments on commit 4ee1862

Please sign in to comment.