mirror of
https://github.com/aljazceru/lightning.git
synced 2025-12-19 15:14:23 +01:00
json-rpc: connection_complete_ok and json_command_malformed should never receive NULL arguments. Pass "null" instead, where needed.
This commit is contained in:
committed by
Christian Decker
parent
d86ad15b53
commit
1e879de89e
@@ -263,6 +263,8 @@ static void connection_complete_ok(struct json_connection *jcon,
|
|||||||
const char *id,
|
const char *id,
|
||||||
const struct json_result *result)
|
const struct json_result *result)
|
||||||
{
|
{
|
||||||
|
assert(id != NULL);
|
||||||
|
|
||||||
/* This JSON is simple enough that we build manually */
|
/* This JSON is simple enough that we build manually */
|
||||||
json_done(jcon, cmd, take(tal_fmt(jcon,
|
json_done(jcon, cmd, take(tal_fmt(jcon,
|
||||||
"{ \"jsonrpc\": \"2.0\", "
|
"{ \"jsonrpc\": \"2.0\", "
|
||||||
@@ -290,11 +292,7 @@ static void connection_complete_error(struct json_connection *jcon,
|
|||||||
else
|
else
|
||||||
data_str = "";
|
data_str = "";
|
||||||
|
|
||||||
/*
|
assert(id != NULL);
|
||||||
tal_fmt translates NULL into "(null)", which is not valid JSON.
|
|
||||||
Prevent this by pre-emptively translating NULL into "null".
|
|
||||||
*/
|
|
||||||
if(id == NULL) id = "null";
|
|
||||||
|
|
||||||
json_done(jcon, cmd, take(tal_fmt(tmpctx,
|
json_done(jcon, cmd, take(tal_fmt(tmpctx,
|
||||||
"{ \"jsonrpc\": \"2.0\", "
|
"{ \"jsonrpc\": \"2.0\", "
|
||||||
@@ -691,7 +689,7 @@ again:
|
|||||||
"Invalid token in json input: '%.*s'",
|
"Invalid token in json input: '%.*s'",
|
||||||
(int)jcon->used, jcon->buffer);
|
(int)jcon->used, jcon->buffer);
|
||||||
json_command_malformed(
|
json_command_malformed(
|
||||||
jcon, NULL,
|
jcon, "null",
|
||||||
"Invalid token in json input");
|
"Invalid token in json input");
|
||||||
return io_halfclose(conn);
|
return io_halfclose(conn);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user