MQTT stop working after receiving large bytes of data in FreeRTOS

@aggarg The thing is that I am not changing the contents of any member in the queue. Let me explain what I am doing. I have a structure which contains 7 char variables. Also, I have created a freeRTOS queue in order to send data to the UI (Model.cpp class), this queue has room for 5 messages and size equal to my structure QueueHandle = osMessageQueueNew (5, sizeof(buf_t), &Queue_attributes);. When I am receiving the payload it happens what I mentioned above. I am catching the payload with that way char

buf3[len+1];
strncpy(buf3, (char *)data, len);
buf3[len]='\0';

So in order to understand what you are saying. You recommended to add a new member in the queue structure, or in my structure?