mirror of
https://github.com/asterisk/asterisk.git
synced 2025-10-12 15:45:18 +00:00
ARI: allow json content type with zero length body
When a request was received with a Content-type of json, the body was sent for json parsing - even if it was zero length. This resulted in ARI requests failing that were valid, such as a channel DELETE with no parameters. The code has now been changed to skip json parsing with zero content length. (closes issue SWP-6748) Reported by: Samuel Galarneau Review: https://reviewboard.asterisk.org/r/3360/ git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@410858 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -880,12 +880,16 @@ struct ast_json *ast_http_get_json(
|
||||
}
|
||||
|
||||
buf = ast_http_get_contents(&content_length, ser, headers);
|
||||
if (buf == NULL)
|
||||
{
|
||||
if (buf == NULL) {
|
||||
/* errno already set */
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (!content_length) {
|
||||
/* it is not an error to have zero content */
|
||||
return NULL;
|
||||
}
|
||||
|
||||
body = ast_json_load_buf(buf, content_length, NULL);
|
||||
if (body == NULL) {
|
||||
/* Failed to parse JSON; treat as an I/O error */
|
||||
|
Reference in New Issue
Block a user