Messages in this thread | | | Date | Thu, 18 Jul 2013 07:49:53 +0100 | From | Al Viro <> | Subject | Re: [PATCH] lib/vsprintf.c: fix the incorrect return value of vsnprintf() |
| |
On Thu, Jul 18, 2013 at 02:28:49PM +0800, Chen Gang wrote: > When "str >= end", necessary to reset 'str' to "end - 1", or the return > value will be larger than the real one, the callers which depend on the > return value, may cause memory overflow.
You do realize that snprintf(s, 1, "abc") should return 3, not 1? The goal off snprintf() is _not_ just to truncate the output; return value tells how much should the buffer had been to fit the whole thing.
| |