title: 'sprintf' output between 9 and 12 bytes into a destination of size 9
body: <p>I have already checked <a href="https://stackoverflow.com/questions/51697753/how-to-suppress-sprintf-warning-directive-writing-between-1-and-11-bytes-into">this</a> issue, but i cannot figure out how it applies in my case.</p>
  
  <p>While using </p>
  
  <pre><code>  char time[9];
  
    sprintf(time, "%2d:%2d:%2d",
            timestamp.Hour(),
            timestamp.Minute(),
            timestamp.Second());
  </code></pre>
  
  <p>i get the warning 
  <code>'sprintf' output between 9 and 12 bytes into a destination of size 9</code>
  and </p>
  
  <p>randomly reboot's at the micro-controller running the code (if they are somehow related).</p>
  
  <p>So, where these extra 3 bytes came from? How can i fix this one?</p>
  
  <p>The Hour(), Minute() &amp; Second() methods, actually return <code>uint8_t</code></p>