[ 
https://issues.apache.org/jira/browse/MESOS-3698?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Greg Mann updated MESOS-3698:
-----------------------------
    Description: 
Picojson supports a streaming mode in which a stream containing a series of 
JSON values can be repeatedly parsed. For this reason, it does not return an 
error when passed a string containing a valid JSON value followed by 
non-whitespace trailing characters.

However, in addition to the four-argument {{picojson::parse()}} that we're 
using, picojson contains a two-argument {{parse()}} function 
(https://github.com/kazuho/picojson/blob/master/picojson.h#L938-L942) which 
accepts a {{std::string}} and should probably validate its input to ensure it 
doesn't contain trailing characters. A pull request has been filed for this 
change at https://github.com/kazuho/picojson/pull/70 and if it's merged, we can 
switch to the two-argument function call. In the meantime, we should provide 
such input validation ourselves in {{JSON::parse()}}.

  was:
Picojson supports a streaming mode in which a stream containing a series of 
JSON values can be repeatedly parsed. For this reason, it does not return an 
error when passed a string containing a valid JSON value followed by 
non-whitespace trailing characters.

However, picojson contains a two-argument {{parse()}} function 
(https://github.com/kazuho/picojson/blob/master/picojson.h#L938-L942) which 
should probably validate its input string to ensure it doesn't contain trailing 
characters. A pull request has been filed for this change at 
https://github.com/kazuho/picojson/pull/70 and if it's merged, we can switch to 
the two-argument function call. In the meantime, we should provide such input 
validation ourselves in {{JSON::parse()}}.


> JSON parsing allows non-whitespace trailing characters
> ------------------------------------------------------
>
>                 Key: MESOS-3698
>                 URL: https://issues.apache.org/jira/browse/MESOS-3698
>             Project: Mesos
>          Issue Type: Bug
>            Reporter: Greg Mann
>            Assignee: Greg Mann
>              Labels: mesosphere
>
> Picojson supports a streaming mode in which a stream containing a series of 
> JSON values can be repeatedly parsed. For this reason, it does not return an 
> error when passed a string containing a valid JSON value followed by 
> non-whitespace trailing characters.
> However, in addition to the four-argument {{picojson::parse()}} that we're 
> using, picojson contains a two-argument {{parse()}} function 
> (https://github.com/kazuho/picojson/blob/master/picojson.h#L938-L942) which 
> accepts a {{std::string}} and should probably validate its input to ensure it 
> doesn't contain trailing characters. A pull request has been filed for this 
> change at https://github.com/kazuho/picojson/pull/70 and if it's merged, we 
> can switch to the two-argument function call. In the meantime, we should 
> provide such input validation ourselves in {{JSON::parse()}}.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to