Qpid
  1. Qpid
  2. QPID-3330

Address strings unable to have empty strings as option values

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 0.10, 0.11
    • Fix Version/s: 0.13
    • Component/s: C++ Client
    • Labels:
      None

      Description

      The Address object can not be constructed from option maps that have empty strings as values, because of parser errors. (e.g. Address("inbound;

      { key: '' }

      ").)

      The issue is in AddressParser::readString. Going into it, current points to the delimiter. The readChar call moves current up to one past the delimiter. Then definition of start as current++ moves it one further, which is past the closing delimiter of an empty string.

        Activity

        Transition Time In Source Status Execution Times Last Executer Last Execution Date
        Open Open Resolved Resolved
        1d 14h 41m 1 Gordon Sim 01/Jul/11 13:04
        Resolved Resolved Closed Closed
        759d 6h 49m 1 Justin Ross 29/Jul/13 19:53
        Justin Ross made changes -
        Status Resolved [ 5 ] Closed [ 6 ]
        Gordon Sim made changes -
        Status Open [ 1 ] Resolved [ 5 ]
        Fix Version/s 0.13 [ 12316854 ]
        Resolution Fixed [ 1 ]
        Gordon Sim made changes -
        Assignee Gordon Sim [ gsim ]
        Anthony Foglia made changes -
        Description The Address object can not be constructed from option maps that have empty strings as values, because of parser errors.

        The issue is in AddressParser::readString. Going into it, current points to the delimiter. The readChar call moves current up to one past the delimiter. Then definition of start as current++ moves it one further, which is past the closing delimiter of an empty string.
        The Address object can not be constructed from option maps that have empty strings as values, because of parser errors. (e.g. Address("inbound; { key: '' }").)

        The issue is in AddressParser::readString. Going into it, current points to the delimiter. The readChar call moves current up to one past the delimiter. Then definition of start as current++ moves it one further, which is past the closing delimiter of an empty string.
        Anthony Foglia made changes -
        Field Original Value New Value
        Attachment 0001-Correctly-parse-empty-strings.patch [ 12484687 ]
        Hide
        Anthony Foglia added a comment -

        A patch to AddressParser::readString

        Show
        Anthony Foglia added a comment - A patch to AddressParser::readString
        Anthony Foglia created issue -

          People

          • Assignee:
            Gordon Sim
            Reporter:
            Anthony Foglia
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development