summaryrefslogtreecommitdiffstats
path: root/src/common
diff options
context:
space:
mode:
Diffstat (limited to 'src/common')
-rw-r--r--src/common/protocol.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/common/protocol.c b/src/common/protocol.c
index 8680be7..bae38d8 100644
--- a/src/common/protocol.c
+++ b/src/common/protocol.c
@@ -106,6 +106,8 @@ int get_tlv(struct tlv_parser *parser, struct tlv *ret)
if (parser->offset + sizeof(ret->type) + sizeof(ret->length) >= parser->size) {
ret = E_TLV_OVERFLOW;
+ } else if (parser -> offset == parser->size) {
+ ret = END_OF_PACKET;
} else {
ret->type = memcpy(&ret->type, parser->data + parser->offset, sizeof(ret->type));
parser->size += sizeof(ret->type);