chore: Several comments
This commit is contained in:
@@ -48,7 +48,7 @@ int incphub_send_local(incphub_cli_t *cli, uint8_t *buffer, size_t length, ntl_p
|
|||||||
if (dst_port == NTL_PORT_EMPTY)
|
if (dst_port == NTL_PORT_EMPTY)
|
||||||
return INCPHUB_EINVAL;
|
return INCPHUB_EINVAL;
|
||||||
|
|
||||||
// Unwind pointer
|
// Unwind buffer pointer
|
||||||
ntl_packet_t *ntl_packet = (ntl_packet_t*)(buffer - sizeof(ntl_header_t));
|
ntl_packet_t *ntl_packet = (ntl_packet_t*)(buffer - sizeof(ntl_header_t));
|
||||||
nil_packet_t *nil_packet = (nil_packet_t*)(ntl_packet - sizeof(ntl_header_t));
|
nil_packet_t *nil_packet = (nil_packet_t*)(ntl_packet - sizeof(ntl_header_t));
|
||||||
size_t extended_len = sizeof(nil_header_t) + sizeof(ntl_header_t) + length;
|
size_t extended_len = sizeof(nil_header_t) + sizeof(ntl_header_t) + length;
|
||||||
|
|||||||
@@ -57,10 +57,12 @@ void incphub_task_main(void *params)
|
|||||||
|
|
||||||
while (1)
|
while (1)
|
||||||
{
|
{
|
||||||
|
// Dequeue message
|
||||||
uint8_t *buffer;
|
uint8_t *buffer;
|
||||||
size_t length;
|
size_t length;
|
||||||
dequeue_message_ingest(&buffer, &length);
|
dequeue_message_ingest(&buffer, &length);
|
||||||
|
|
||||||
|
// Get NIL packet
|
||||||
nil_packet_t *nil = extract_nil_packet(buffer, length);
|
nil_packet_t *nil = extract_nil_packet(buffer, length);
|
||||||
if (nil == NULL)
|
if (nil == NULL)
|
||||||
{
|
{
|
||||||
@@ -68,6 +70,7 @@ void incphub_task_main(void *params)
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Process or route
|
||||||
handle_nil_packet(nil);
|
handle_nil_packet(nil);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -77,6 +80,7 @@ void incphub_task_main(void *params)
|
|||||||
// === Private functions ===
|
// === Private functions ===
|
||||||
static nil_packet_t *extract_nil_packet(uint8_t *buffer, size_t length)
|
static nil_packet_t *extract_nil_packet(uint8_t *buffer, size_t length)
|
||||||
{
|
{
|
||||||
|
// Ensure message is big enough to hold a packet
|
||||||
if (length < sizeof(nil_packet_t))
|
if (length < sizeof(nil_packet_t))
|
||||||
{
|
{
|
||||||
//TODO: Error
|
//TODO: Error
|
||||||
@@ -84,10 +88,11 @@ static nil_packet_t *extract_nil_packet(uint8_t *buffer, size_t length)
|
|||||||
}
|
}
|
||||||
|
|
||||||
nil_packet_t *nil = (nil_packet_t *)buffer;
|
nil_packet_t *nil = (nil_packet_t *)buffer;
|
||||||
|
// Ensure length field is not going to cause buffer overflow
|
||||||
if (length < sizeof(nil_packet_t) + nil->header.len )
|
if (length < sizeof(nil_packet_t) + nil->header.len )
|
||||||
{
|
{
|
||||||
//TODO: Error
|
//TODO: Error
|
||||||
return NULL;;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
return nil;
|
return nil;
|
||||||
@@ -95,6 +100,7 @@ static nil_packet_t *extract_nil_packet(uint8_t *buffer, size_t length)
|
|||||||
|
|
||||||
static ntl_packet_t *extract_ntl_packet(nil_packet_t *nil)
|
static ntl_packet_t *extract_ntl_packet(nil_packet_t *nil)
|
||||||
{
|
{
|
||||||
|
// Ensure message is big enough to hold a packet
|
||||||
if (nil->header.len < sizeof(ntl_packet_t))
|
if (nil->header.len < sizeof(ntl_packet_t))
|
||||||
{
|
{
|
||||||
//TODO: Error
|
//TODO: Error
|
||||||
@@ -102,7 +108,7 @@ static ntl_packet_t *extract_ntl_packet(nil_packet_t *nil)
|
|||||||
}
|
}
|
||||||
|
|
||||||
ntl_packet_t *ntl = (ntl_packet_t *)nil->payload;
|
ntl_packet_t *ntl = (ntl_packet_t *)nil->payload;
|
||||||
|
// Ensure length field is not going to cause buffer overflow
|
||||||
if (nil->header.len < sizeof(ntl_packet_t) + ntl->header.len)
|
if (nil->header.len < sizeof(ntl_packet_t) + ntl->header.len)
|
||||||
{
|
{
|
||||||
//TODO: Error
|
//TODO: Error
|
||||||
|
|||||||
Reference in New Issue
Block a user