Faulty data using RF transmitter and reciever

I’m trying to make a wireless temperature meter using the 433 Mhz transmitter and reciever and two LN35 temperature meter. The temperature is valid and the message thats being send from the transmitter is right. But when i print the message at the end of the reciever i got values like 433321535 and i dont know what i’m doing wrong.

tem_transmit.ino (407 Bytes)

tem_reciever.ino (485 Bytes)

Found what appears to be the answer: Your character buffer is too short, it needs to be at least 1 character longer than the number of characters you are writing to it (to allow for the trailing null). Declare it as [7] instead of [6].

I tried this on circuits.io and it works with 7 but not 6:

float tempC;
char msg[7]; // needs to be 7 instead of 6 to account for trailing null char

// the setup routine runs once when you press reset:
void setup() {
  Serial.begin(9600);
}

// the loop routine runs over and over again forever:
void loop() {
 
  tempC = 23.7;
  //Serial.println(tempC);
  dtostrf(tempC, 6, 2, msg);
  Serial.print("Float: ");
  Serial.println(tempC);
  Serial.print("String: ");
  Serial.println(msg);
  
  delay(2000);               // wait for 2 seconds
  
}