summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJim Meyering <meyering@redhat.com>2010-12-11 11:38:21 +0100
committerJim Meyering <meyering@redhat.com>2010-12-11 11:52:24 +0100
commitad61335bf832937dd95739c70405db9b61ffda37 (patch)
treeb92774a80152f1fe3afe65cbddd50a2cb3295d69
parent9a9d69e9e463ebfa67e90ecc061305532a91543e (diff)
downloadcoreutils-ad61335bf832937dd95739c70405db9b61ffda37.tar.xz
sort: avoid segfault when using two or more threads
This change does not fix the actual bug. That was done by commit c9db0ac6, "sort: preallocate merge tree nodes to heap". The fix was to store each "node" structure on the heap, not on the stack. Otherwise, a node from one thread's stack could be used in another thread after the first thread had expired (via pthread_join). This bug was very hard to trigger when using spinlocks, but easier once we began using mutexes. * NEWS (Bug fixes): Mention it. For details, see http://debbugs.gnu.org/7597.
-rw-r--r--NEWS3
1 files changed, 3 insertions, 0 deletions
diff --git a/NEWS b/NEWS
index 9f55cbb6e..b0a11b110 100644
--- a/NEWS
+++ b/NEWS
@@ -18,6 +18,9 @@ GNU coreutils NEWS -*- outline -*-
do no work. I.e., "sort < big-file | less" could waste a lot of power.
[bug introduced in coreutils-8.6]
+ sort with at least two threads no longer segfaults due to use of pointers
+ into the stack of an expired thread. [bug introduced in coreutils-8.6]
+
** New features
split accepts the --number option to generate a specific number of files.