Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-14205

BetweenTokensEditor corrupts page if start marker not found

XMLWordPrintable

      I found a second problem in the token matching logic of BetweenTokensEditor.java. The logic for finding the start token is:

      final int start = content.indexOf(startMarkerToken) + startMarkerToken.length();
      if (start < 0) {
      // exception
      }

      However, as long as the startMarkerToken is defined, the sum of indexOf + length() will be non-negative whether the marker is found or not. If the marker length is 10, then the plugin will replace the page content starting from char 9 if the marker is not found, corrupting the page.

      Obviously, the code should check whether indexOf(startMarkerToken) < 0, instead of checking the sum.

            plaa Sampo Niskanen
            plaa Sampo Niskanen
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: