Skip to content
  • Markus Armbruster's avatar
    qjson: Have qobject_from_json() & friends reject empty and blank · dd98e848
    Markus Armbruster authored
    
    
    The last case where qobject_from_json() & friends return null without
    setting an error is empty or blank input.  Callers:
    
    * block.c's parse_json_protocol() reports "Could not parse the JSON
      options".  It's marked as a work-around, because it also covered
      actual bugs, but they got fixed in the previous few commits.
    
    * qobject_input_visitor_new_str() reports "JSON parse error".  Also
      marked as work-around.  The recent fixes have made this unreachable,
      because it currently gets called only for input starting with '{'.
    
    * check-qjson.c's empty_input() and blank_input() demonstrate the
      behavior.
    
    * The other callers are not affected since they only pass input with
      exactly one JSON value or, in the case of negative tests, one error.
    
    Fail with "Expecting a JSON value" instead of returning null, and
    simplify callers.
    
    Signed-off-by: default avatarMarkus Armbruster <armbru@redhat.com>
    Reviewed-by: default avatarEric Blake <eblake@redhat.com>
    Message-Id: <20180823164025.12553-48-armbru@redhat.com>
    dd98e848