null terminate string
free body buffer when read packet isnt supported
support destination override