examples/gcoap: handle request buffer too small
This commit is contained in:
parent
6a4c764c95
commit
8a1a2b41fb
@ -243,7 +243,14 @@ int gcoap_cli_cmd(int argc, char **argv)
|
|||||||
((argc == apos + 4) && (code_pos != 0))) {
|
((argc == apos + 4) && (code_pos != 0))) {
|
||||||
gcoap_req_init(&pdu, &buf[0], GCOAP_PDU_BUF_SIZE, code_pos+1, argv[apos+2]);
|
gcoap_req_init(&pdu, &buf[0], GCOAP_PDU_BUF_SIZE, code_pos+1, argv[apos+2]);
|
||||||
if (argc == apos + 4) {
|
if (argc == apos + 4) {
|
||||||
memcpy(pdu.payload, argv[apos+3], strlen(argv[apos+3]));
|
/* must be 'greater than' to account for payload marker byte */
|
||||||
|
if (pdu.payload_len > strlen(argv[apos+3])) {
|
||||||
|
memcpy(pdu.payload, argv[apos+3], strlen(argv[apos+3]));
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
puts("gcoap_cli: msg buffer too small");
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
coap_hdr_set_type(pdu.hdr, msg_type);
|
coap_hdr_set_type(pdu.hdr, msg_type);
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user