Uploaded image for project: 'Solr'
  1. Solr
  2. SOLR-1091

"phps" (serialized PHP) writer produces invalid output

Attach filesAttach ScreenshotVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • 1.3
    • 1.4
    • search
    • None
    • Sun JRE 1.6.0 on Centos 5

    Description

      The serialized PHP output writer can outputs invalid string lengths for certain (unusual) input values. Specifically, I had a document containing the following 6 byte character sequence: \xED\xAF\x80\xED\xB1\xB8

      I was able to create a document in the index containing this value without issue; however, when fetching the document back out using the serialized PHP writer, it returns a string like the following:

      s:4:"􀁸";

      Note that the string length specified is 4, while the string is actually 6 bytes long.

      When using PHP's native serialize() function, it correctly sets the length to 6:

      1. php -r 'var_dump(serialize("\xED\xAF\x80\xED\xB1\xB8"));'
        string(13) "s:6:"􀁸";"

      The "wt=php" writer, which produces output to be parsed with eval(), doesn't have any trouble with this string.

      Attachments

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            yseeley@gmail.com Yonik Seeley
            frankfarmer frank farmer
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment