[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