On Tue, Mar 04, 2008 at 02:59:28PM +0100, Michal Rokos wrote: > + while ( ret == -1 ) > + { > + maxsize = (maxsize*3)/2; > + s = realloc(s, maxsize); > + if (! s) return -1; > + ret = vsnprintf(s, maxsize, format, ap); /* <--- UNSAFE! */ > + } This is not generally safe, you cannot call vsnprintf multiple times with the same ap on all architectures. You need va_copy (or __va_copy, or VA_COPY, differs a bit between different architectures, especially one the ones with a broken vsnprintf I guess..) - Finn Arne -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html