[ILUG] Serial Port

Kenn Humborg kenn at bluetree.ie
Tue Apr 11 16:08:18 IST 2000


> Actually in general terms snprintf() is better full stop, as sprintf()
> is vulnerable to buffer overflows. So if the outgoing_msg buffer is 255
> bytes long, use:
> 
>      bytes_to_write = snprintf(outgoing_msg,255,"%s %d",a_string,date);

And, since snprintf() won't fill in a NULL if the 255-char 
limit is reached, you really need to do:

   snprintf(outgoing_msg,255,"%s %d",a_string,date);
   outgoing_msg[255] = '\0';
   bytes_to_write = strlen(outgoing_msg);

Of course, you should really say sizeof(outgoing_msg)
rather than hard-coding 255.

Later,
Kenn






More information about the ILUG mailing list