vat2: add sanity checking - coverity errors

Type: fix
Signed-off-by: Ole Troan <ot@cisco.com>
Change-Id: I3cd56690fe52402d4cfa9ea67f1de53d8d919dee
This commit is contained in:
Ole Troan
2021-02-17 13:26:53 +01:00
committed by Neale Ranns
parent 384c72f630
commit edc73fddba
2 changed files with 14 additions and 0 deletions
+5
View File
@@ -733,6 +733,11 @@ I: cjson
M: Ole Troan <ot@cisco.com>
F: src/vppinfra/cJSON.[ch]
VAT2
I: vat2
M: Ole Troan <ot@cisco.com>
F: src/vat2/
THE REST
I: misc
M: vpp-dev Mailing List <vpp-dev@fd.io>
+9
View File
@@ -1534,6 +1534,7 @@ api_{n} (cJSON *o)
char *p;
int l;
vac_read(&p, &l, 5); // XXX: Fix timeout
if (p == 0 || l == 0) return 0;
// XXX Will fail in case of event received. Do loop
if (ntohs(*((u16 *)p)) != vac_get_msg_index(VL_API_{R}_CRC)) {{
fprintf(stderr, "Mismatched reply\\n");
@@ -1573,6 +1574,10 @@ api_{n} (cJSON *o)
char *p;
int l;
vac_read(&p, &l, 5); // XXX: Fix timeout
if (p == 0 || l == 0) {{
cJSON_free(reply);
return 0;
}}
/* Message can be one of [_details, control_ping_reply
* or unrelated event]
@@ -1583,6 +1588,10 @@ api_{n} (cJSON *o)
}}
if (reply_msg_id == details_msg_id) {{
if (l < sizeof(vl_api_{r}_t)) {{
cJSON_free(reply);
return 0;
}}
vl_api_{r}_t *rmp = (vl_api_{r}_t *)p;
vl_api_{r}_t_endian(rmp);
cJSON_AddItemToArray(reply, vl_api_{r}_t_tojson(rmp));