Commit e1d04437 authored by Anton Nayshtut's avatar Anton Nayshtut Committed by Jim Harris
Browse files

lib/jsonrpc: add assert in begin_response for send_len



This patch adds an assertion in begin_response to ensure that no
response data has been written yet. Otherwise, a malformed JSON
response could be produced.

Change-Id: Ife2a6a1661edb206cd392e4957680a4e1e0cbba4
Signed-off-by: default avatarAnton Nayshtut <anayshtut@nvidia.com>
Reviewed-on: https://review.spdk.io/c/spdk/spdk/+/25987


Community-CI: Mellanox Build Bot
Reviewed-by: default avatarKonrad Sztyber <ksztyber@nvidia.com>
Reviewed-by: default avatarAleksey Marchuk <alexeymar@nvidia.com>
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Tested-by: default avatarSPDK Automated Test System <spdkbot@gmail.com>
Reviewed-by: default avatarJim Harris <jim.harris@nvidia.com>
parent 27728b1b
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -284,6 +284,11 @@ begin_response(struct spdk_jsonrpc_request *request)
{
	struct spdk_json_write_ctx *w = request->response;

	/* The assertion below ensures that no response data has been written yet.
	 * Otherwise, it would result in malformed JSON.
	 */
	assert(request->send_len == 0);

	spdk_json_write_object_begin(w);
	spdk_json_write_named_string(w, "jsonrpc", "2.0");