Andreas Schwab <[EMAIL PROTECTED]> wrote: > Jim Meyering <[EMAIL PROTECTED]> writes: >> Andreas Schwab <[EMAIL PROTECTED]> wrote: >>> 2007-07-23 Andreas Schwab <[EMAIL PROTECTED]> >>> >>> * src/sort.c (fillbuf): Make sure the buffer limit is always >>> aligned after the buffer was grown. >>> >>> diff --git a/src/sort.c b/src/sort.c >>> index 824dd0d..6024be7 100644 >>> --- a/src/sort.c >>> +++ b/src/sort.c >>> @@ -1492,6 +1492,8 @@ fillbuf (struct buffer *buf, FILE *fp, char const >>> *file) >>> /* The current input line is too long to fit in the buffer. >>> Double the buffer size and try again. */ >>> buf->buf = X2REALLOC (buf->buf, &buf->alloc); >>> + /* Realign buffer limit. */ >>> + buf->alloc -= buf->alloc % sizeof (struct line); >>> } >>> } >> >> Thanks! >> Can you provide a test case to exercise that code? > > Obviously you need a file with a long line.
Thanks, but I knew that :-) I even tried something simple, like this perl -e 'print "a"x99383420' |./sort > /dev/null but that didn't trigger it. I spent a couple more minutes and triggered the code with this: perl -e 'print "a"x1015' |./sort -S 1 > /dev/null Can you make the unpatched sort misbehave? I.e., how did you discover the bug? _______________________________________________ Bug-coreutils mailing list [email protected] http://lists.gnu.org/mailman/listinfo/bug-coreutils
