From: Ole Troan Date: Wed, 17 Feb 2021 12:26:53 +0000 (+0100) Subject: vat2: add sanity checking - coverity errors X-Git-Tag: v21.10-rc0~511 X-Git-Url: https://gerrit.fd.io/r/gitweb?a=commitdiff_plain;ds=sidebyside;h=edc73fddbaa28eb29d068d3078f1c437781605ad;p=vpp.git vat2: add sanity checking - coverity errors Type: fix Signed-off-by: Ole Troan Change-Id: I3cd56690fe52402d4cfa9ea67f1de53d8d919dee --- diff --git a/MAINTAINERS b/MAINTAINERS index 35bdaa33bcc..3f100e730f5 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -733,6 +733,11 @@ I: cjson M: Ole Troan F: src/vppinfra/cJSON.[ch] +VAT2 +I: vat2 +M: Ole Troan +F: src/vat2/ + THE REST I: misc M: vpp-dev Mailing List diff --git a/src/tools/vppapigen/vppapigen_c.py b/src/tools/vppapigen/vppapigen_c.py index a83d361010e..ba083499852 100644 --- a/src/tools/vppapigen/vppapigen_c.py +++ b/src/tools/vppapigen/vppapigen_c.py @@ -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));