433MHz Receiver Weird Junk

Hello,

can onyone tell me why am I seeing this junk at the end of received message?(Please find attached) How can I remove it?
I’m using Visual Studio Code with PlatformIO extension.
Here is my code:

MainTransmitter:

#include <Arduino.h>
#include "433MHzRFTransmitter.h"

void setup() {
  RFTransmitterInitialization();
}

void loop() {
  RFTransmitterSendMessage(1000);
}

433MHzRFTransmitter.h:

/*
Library used to send and receive unaddressed, 
unreliable datagrams via RF modules using Amplitude Shift Keying
*/
#include "RH_ASK.h"
//Library used by RH_ASK, need to be included
#include "SPI.h"
//Creating driver object4
extern RH_ASK rf_driver;
//Time interval between sending message - needed to use millis() instead delay()
extern int transmitterSendingInterval;
//Variable needed to store millis() 
extern unsigned long previousTransmitterMillis;

//RF driver initialization
void RFTransmitterInitialization();
/*
Sending message via RF module using send function from RH_ASK library.
@Param - time interval between sending message
*/
void RFTransmitterSendMessage(int sendingTimeInterval);

433MHzRFTransmitter.cpp:

#include "433MHzRFTransmitter.h"
RH_ASK rf_driver;
int transmitterSendingInterval = 1000;
unsigned long previousTransmitterMillis = 0;

void RFTransmitterInitialization() {
    rf_driver.init();
}

void RFTransmitterSendMessage(int sendingTimeInterval) {
    transmitterSendingInterval = sendingTimeInterval;
    if(millis() - previousTransmitterMillis >= transmitterSendingInterval) {
        const char *msg = "Hello Raadley!";

        rf_driver.send((uint8_t *)msg, strlen(msg));
        rf_driver.waitPacketSent();

        previousTransmitterMillis = millis();
    }
}

MainReceiver:

#include <Arduino.h>
#include "433MHzRFReceiver.h"

void setup() {
  RFReceiverInitialization();
  Serial.begin(9600);
}

void loop() {
  RFReceiverReadMessage();
}

433MHzRFReceiver.h:

#include "RH_ASK.h"
#include "SPI.h"

extern RH_ASK rf_driver;

void RFReceiverInitialization();
//Reads message using Send function from RH_ASK library and prints it in console
void RFReceiverReadMessage();

433MHzRFReceiver.cpp:

#include "433MHzRFReceiver.h"

RH_ASK rf_driver;

void RFReceiverInitialization() {
    rf_driver.init();
    //Serial.begin(9600);
}

void RFReceiverReadMessage() {
    uint8_t buf[14];
    uint8_t buflen = sizeof(buf);

    if(rf_driver.recv(buf, &buflen)) {
        Serial.print("Message received: ");
        Serial.println((char *)buf);       
    }
}

I would be grateful if anyone could help me.
Thank you in advance.

Przechwytywanie.PNG

What’s the problem?
Did you forget to terminate the receive buffer?

I'm not sure what do you mean. I've done everything the same as it is in this tutorial: https://dronebotworkshop.com/433mhz-rf-modules-arduino/ I just want to know why there is some additional text at the end? What it is, and how can I get rid of it? Thank you in advance.

if(rf_driver.recv(buf, &buflen)) {
        buf [buflen] = '\0';
        Serial.print("Message received: ");
        Serial.println((char *)buf);

And now?

(You may wish to bounds check “buflen”, but let’s see how this goes for now)

Now it works as I wanted. Now I need to read more about it. If I my ask could you please show me how to check this "buflen"(What do you mean?)? Anyway I'm really satisfied that my mystery has been solved. Thank you so much.