From 3afda5f0076beca786ecbe90875828eb6988a964 Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Tue, 30 Nov 2010 22:30:12 +0100 Subject: sort -u: fix a thread-race pointer corruption bug * src/sort.c (write_unique): Save the entire "struct line", not just a pointer to one. Otherwise, with a multi-thread run, sometimes, with some inputs, fillbuf would would win a race and clobber a "saved->text" pointer in one thread just before it was dereferenced in a comparison in another thread. * NEWS (Bug fixes): Mention it. --- NEWS | 3 +++ 1 file changed, 3 insertions(+) (limited to 'NEWS') diff --git a/NEWS b/NEWS index 2d3f1f3f4..79484c18b 100644 --- a/NEWS +++ b/NEWS @@ -7,6 +7,9 @@ GNU coreutils NEWS -*- outline -*- od now prints floating-point numbers without losing information, and it no longer omits spaces between floating-point columns in some cases. + sort -u with at least two threads could attempt to read through a + corrupted pointer. [bug introduced in coreutils-8.6] + ** New features split accepts the --number option to generate a specific number of files. -- cgit v1.2.3-54-g00ecf