I would rather avoid buffers completely and output directly, I am planing to take care of it in my "log cleanup" patch that we discussed before. On Fri, Oct 4, 2013 at 10:17 AM, Dave Jones <davej@xxxxxxxxxx> wrote: > On Fri, Oct 04, 2013 at 10:11:04AM -0700, Ildar Muslukhov wrote: > > Here is an example that causes the crash, it is obviously longer that 512 ascii: > > [child0:1607] [31] utimensat(dfd=^[[1;36m497 > > , filename=^[[1;36m".//proc/4/task/4/cpusetd%s%d%d%d%d%s%s%s%d%d%s%d%d%d%d%s%s%d > > %s%s%d%s%d%s%s%d%d%s%d%d%d%d%s%d%d%s%s%s%d%s%d%d%s%d%d%s%d%s%d%s%d%d%d%s%s%s%s%s > > %d%s%s%d%s%d%d%d%d%d%s%d%s%s%d%s%d%d%d%d%d%d%s%d%d%s%s%s%d%d%d%d%d%d%s%s%d%s%s%d > > %s%s%s%s%d%s%d%d%d%d%d%d%s%s%d%s%d%d%s%d%d%s%s%d%s%d%d%d%s%s%d%s%d%s%d%s%s%d%s%s > > %d%d%s%s%s%s%s%d%s%d%d%d%s%s%d%s%s%d%s%s%d%s%d%d%s%d%s%d%d%s%s%d%s%d%d%d%s%s%d%s > > %s%s%s%d%d%s%s%d%d%d%s%d%d%s%d%s%s%d%s%s%s%d%s%d%d%s%d%s%d%s%d%s%d%s%d%d%s%s%d%s > > %d%s%s%d%d%s%s%s%s%d%d%d%d%d%d%d%s%s%s%d%d%d%s%d%s%s%d%d%s%s%s%s%d%d%s%s%d%d%d%s > > %d%s%d%d%s%d%d%d%s%s%d%s%s%d%s%s%s%d%s%d%s%s%s%s%s%d%d%s%d%s%s%d%d%s%d%s%s%d%s%s > > %d%d%d%s%d%d%d%s%d%d%d%s%s%s%d%d%d%s%d%d%d%s%s%d%d%s%s%s%d%d%d%d%d%s%s%d%s%d%d%s > > %d%d%d%s%s%d%s%s%s%s%d%s%d%s%s%d%d%d%d%d%s%d%d%s%s%d%d%d%d%d%s%d%d%s%s%s%d%d%s%s > > %d%s%s%d%d%d%s%d%s%s%s%d%s%s%s%s%s%s%s%s%s%s%s%s%d%d%s%d%s%d%d%s%s%s%s%s%s%d%s%d > > %s%d%d%s%d%d%d%s%s%s%s%s%d%d%d%s%s%s%s%d%s%s%s%d%d%d%s%d%s%s%d%d%s%s%s%s%s%s%s%d > > %s%d%s%s%d%d%d%s%s%d%s%s%s%d%s%d%s% > > [child1:1608] [0] setreuid(ruid=0x400000000000000, > > euid=0xffffffffffffffff) [child1:1608] = -1 (Operation not permitted) > > Ah, of course.. the pathname mangler. Oops. > > This perhaps ? > > Dave > > diff --git a/syscall.c b/syscall.c > index 80f5a34..94d2f1b 100644 > --- a/syscall.c > +++ b/syscall.c > @@ -222,9 +222,11 @@ long mkcall(int childno) > unsigned int call = shm->syscallno[childno]; > unsigned long ret = 0; > int errno_saved; > - char string[512], *sptr; > + char *string, *sptr; > uid_t olduid = getuid(); > > + string = malloc(page_size); > + > shm->regenerate++; > > sptr = string; > @@ -318,6 +320,9 @@ skip_args: > > output(2, "%s\n", string); > > + free(string); > + > + > if (dopause == TRUE) > sleep(1); > -- To unsubscribe from this list: send the line "unsubscribe trinity" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html