On Sat, 11 Jan 2003, Thomas Arp wrote: > Can't this be fixed by changing calls to snprintf to this? > > len += snprintf(MIN(sizeof(buf), buf+len), > MIN(sizeof(buf), sizeof(buf)-len), > "text here"); I take it you meant len += snprintf(buf + len, MAX(0, sizeof(buf) - len), "text here"); in which case, yes, mostly. However, non-standard implementations of snprintf(), such as that in older glibc versions, return -1 if the string to be printed wouldn't fit. On these platforms, this version could overflow. For a portable solution, look at how George did it in stock code. -dak -- +---------------------------------------------------------------+ | FAQ: http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html | | Archives: http://post.queensu.ca/listserv/wwwarch/circle.html | | Newbie List: http://groups.yahoo.com/group/circle-newbies/ | +---------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 06/26/03 PDT