Hi Durk, Durk Talsma schrieb am 13.10.2007 11:44: > Just curious: Do you have an example of that? I did a grep for '\0'on the > source tree, but didn't come up with anything resembling such a use of > snprintf. Maybe you need to grep for = 0. But I think it should be easier to trace into snprintf inside your debugger to check, if there is a modification of that function, and if not: add such a function "snprintf0".
Maik > Just using snprint to put a train \0 at the maximum location > wouldn't really help preventing overflow problems from an unsafe sprintf > statement. For example: > > char buffer[8]; > double *some; > double *other; > double *important; > double *variables; > > sprintf(buffer, "this is a very long string that won't > fit %s, %s", "ha", "ha"); > > will cause the buffer to overflow, thereby overwriting the other important > variables. Placing a \0 wouldn't help in that case. > > But maybe I'm misunderstanding. :-) > > what's nice about snprintf is that it only prints the maximum allowable > characters, but returns the number of characters. This allows one to check > for possible overflow situation; i.e. > > buff[8]; > if (snprintf(buff, 8, "some string of information) > 8) { > SG_LOG(YIKES!!); > } > > I agree that in most cases the existing sprintf's are pretty well contained, > but in cases where dynamically allocated data is involved (i.e. directories > pathnames, and property paths). For these situations, it's hard to determine > how large the buffers should be. > > Cheers, > Durk > > > ------------------------------------------------------------------------- > This SF.net email is sponsored by: Splunk Inc. > Still grepping through log files to find problems? Stop. > Now Search log events and configuration files using AJAX and a browser. > Download your FREE copy of Splunk now >> http://get.splunk.com/ > _______________________________________________ > Flightgear-devel mailing list > Flightgear-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/flightgear-devel > > ------------------------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now >> http://get.splunk.com/ _______________________________________________ Flightgear-devel mailing list Flightgear-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/flightgear-devel