And I proposed this because snprintf is already used on other parts of tinycc, so no new dependency added.
On Thu, Jan 31, 2013 at 11:57 AM, Domingo Alvarez Duarte <[email protected] > wrote: > Yes strcat append name to "__bound_" and the reason to switch to snprintf > on several places like this is to prevent buffer overflow. > > > On Thu, Jan 31, 2013 at 11:43 AM, Thomas Preud'homme <[email protected]>wrote: > >> Le jeudi 31 janvier 2013 12:34:27, Stephan Beal a écrit : >> > On Thu, Jan 31, 2013 at 12:07 PM, Thomas Preud'homme >> <[email protected]>wrote: >> > > > - strcpy(buf, "__bound_"); >> > > > - strcat(buf, name); >> > > > + snprintf(buf, sizeof(buf), "__bound_%s", name); >> > >> > strcpy and strcat are C89 and C99 while snprintf is only C99. >> > >> > >> > The semantics of the above variants are not the same, are they? strcpy() >> > and strcat() are both writing to the same address in buf, i.e. strcat is >> > overwriting what strcpy() copied into buf. So the end result, unless i'm >> > sorely mistaken, is a copy of the name with the __bound_ prefix. >> strncat() >> > is c89, BTW. >> >> strcat copy the second argument at the end of the string pointed at by the >> first argument. >> >> So after strcpy you'll have __bound_ and then the strcat will add name at >> the >> end of this string. >> >> Did I misunderstand what you said? >> >> Best regards, >> >> Thomas >> >> _______________________________________________ >> Tinycc-devel mailing list >> [email protected] >> https://lists.nongnu.org/mailman/listinfo/tinycc-devel >> >> >
_______________________________________________ Tinycc-devel mailing list [email protected] https://lists.nongnu.org/mailman/listinfo/tinycc-devel
