Skip to content

Commit 3be12b5

Browse files
committed
Fix the validation of the received message
1 parent 7f822b6 commit 3be12b5

1 file changed

Lines changed: 9 additions & 6 deletions

File tree

src/rflx-coap_server-main_loop.adb

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -27,13 +27,16 @@ is
2727
use type RFLX.CoAP.Code_Class;
2828

2929
Buffer : RFLX_Types.Bytes_Ptr :=
30-
new RFLX_Types.Bytes'(Request.Message_Data);
30+
new RFLX_Types.Bytes'(Request.Message_Data (Request.Message_Data'First ..
31+
RFLX_Types.Index (Request.Length)));
3132
Context : RFLX.CoAP.CoAP_Message.Context;
3233

3334
Request_Content : CoAP_SPARK.Messages.Content;
3435
Response_Codes : CoAP_SPARK.Messages.Response_Kind;
3536
Response_Content : CoAP_SPARK.Messages.Content;
3637

38+
Last : constant RFLX_Types.Bit_Length :=
39+
RFLX_Types.To_Last_Bit_Index (RFLX_Types.Length (Request.Length));
3740
begin
3841

3942
RFLX_Result :=
@@ -46,13 +49,13 @@ is
4649
Options_And_Payload_Length => 0);
4750

4851
RFLX.CoAP.CoAP_Message.Initialize
49-
(Ctx => Context,
50-
Buffer => Buffer,
51-
First =>
52+
(Ctx => Context,
53+
Buffer => Buffer,
54+
First =>
5255
RFLX_Types.To_First_Bit_Index
5356
(RFLX_Types.Index (Request.Message_Data'First)),
54-
Last =>
55-
RFLX_Types.To_Last_Bit_Index (RFLX_Types.Length (Request.Length)));
57+
Last => Last,
58+
Written_Last => Last);
5659

5760
RFLX.CoAP.CoAP_Message.Verify_Message (Context);
5861

0 commit comments

Comments
 (0)