so defining dataStream as a 6 char long array dataStream[6] should never changed from the default NULL to provide a properly null-terminated char array
That statement is going to write at least 6 characters to the array - the single character, two character or more, for the first value, two characters or more for the second value, and a terminating NULL.
Given that the value is a byte, there won't be more than 2 characters per value, but the assumption that the default value in the 6th position in the array (a NULL) won't be overwritten is incorrect. sprintf() DOES NULL terminate the array.