summary refs log tree commit diff
path: root/malloc/malloc.c
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2009-07-02 03:30:55 -0700
committerUlrich Drepper <drepper@redhat.com>2009-07-02 03:30:55 -0700
commit6cbbaa50aac809ad6e0692247876c82d58e466bf (patch)
treecaf0a957162147dc92d24933de3b61f6cf40c838 /malloc/malloc.c
parent2fd0cd8b5257e7ae0c0df0651ee62a6ef7c37cc2 (diff)
downloadglibc-6cbbaa50aac809ad6e0692247876c82d58e466bf.tar.gz
glibc-6cbbaa50aac809ad6e0692247876c82d58e466bf.tar.xz
glibc-6cbbaa50aac809ad6e0692247876c82d58e466bf.zip
Fix possible race when freeing object in fast bin list.
Diffstat (limited to 'malloc/malloc.c')
-rw-r--r--malloc/malloc.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/malloc/malloc.c b/malloc/malloc.c
index 516d401991..70e4e58845 100644
--- a/malloc/malloc.c
+++ b/malloc/malloc.c
@@ -4822,6 +4822,7 @@ _int_free(mstate av, mchunkptr p)
 	    goto errout;
 	  }
 	p->fd = fd = old;
+	atomic_full_barrier ();
       }
     while ((old = catomic_compare_and_exchange_val_acq (fb, p, fd)) != fd);
 #else