diff options
| author | Javier Garcia <javier.garcia@voltanet.io> | 2021-03-20 22:21:09 +0100 |
|---|---|---|
| committer | Javier Garcia <javier.garcia@voltanet.io> | 2021-03-20 22:21:09 +0100 |
| commit | 7ed8c4b1fd2cd46864271e44a9778caa31d367fd (patch) | |
| tree | 3b11f0c2123b57fee1cc7cf9ef0a21268decf7fe /pceplib/pcep_msg_messages_encoding.c | |
| parent | a78a4e754edc486769419c4f7a86a20538052171 (diff) | |
pceplib: Fixing coverity messages.
Signed-off-by: Javier Garcia <javier.garcia@voltanet.io>
Diffstat (limited to 'pceplib/pcep_msg_messages_encoding.c')
| -rw-r--r-- | pceplib/pcep_msg_messages_encoding.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/pceplib/pcep_msg_messages_encoding.c b/pceplib/pcep_msg_messages_encoding.c index 23ccef480c..7c8e1b3a1f 100644 --- a/pceplib/pcep_msg_messages_encoding.c +++ b/pceplib/pcep_msg_messages_encoding.c @@ -129,7 +129,7 @@ void pcep_encode_message(struct pcep_message *message, message_length += pcep_encode_object(node->data, versioning, message_buffer + message_length); - if (message_length > PCEP_MESSAGE_LENGTH) { + if (message_length >= PCEP_MESSAGE_LENGTH) { message->encoded_message = NULL; message->encoded_message_length = 0; return; @@ -295,6 +295,14 @@ struct pcep_message *pcep_decode_message(const uint8_t *msg_buf) msg_length = pcep_decode_msg_header(msg_buf, &msg_version, &msg_flags, &msg_type); + if (msg_length == 0) { + pcep_log(LOG_INFO, "%s: Discarding empty message", __func__); + return NULL; + } + if (msg_length >= PCEP_MESSAGE_LENGTH) { + pcep_log(LOG_INFO, "%s: Discarding message too big", __func__); + return NULL; + } struct pcep_message *msg = pceplib_calloc(PCEPLIB_MESSAGES, sizeof(struct pcep_message)); |
