alandekok / jlibtool

A replacement for libtool written in C
Apache License 2.0
36 stars 5 forks source link

remove most occurences of strcpy/strcat #4

Open rofl0r opened 11 years ago

rofl0r commented 11 years ago

those functions are insecure and in the case of strcat even slow, since the strlen has to be checked on each call. they are considered a code-smell; instead, snprintf should be used.

snprintf(buf, sizeof buf, "%s", mystring) is the only way offered by C99 to do a bounds-checked copy of a string (and after parsing the format string (which should only take a handful of cycles), performance is identical to a naive strcpy implementation using a for loop until 0 is hit).

note that strncpy() always fills the entire buffer, so it is a performance hog.