[llvm-commits] CVS: llvm/include/llvm/ADT/SmallVector.h

Chris Lattner sabre at nondot.org
Mon Feb 12 23:25:52 PST 2007



Changes in directory llvm/include/llvm/ADT:

SmallVector.h updated: 1.23 -> 1.24
---
Log message:

fix a critical bug in smallvector, where it would destroy elements that are
not in its range (!).



---
Diffs of the changes:  (+1 -1)

 SmallVector.h |    2 +-
 1 files changed, 1 insertion(+), 1 deletion(-)


Index: llvm/include/llvm/ADT/SmallVector.h
diff -u llvm/include/llvm/ADT/SmallVector.h:1.23 llvm/include/llvm/ADT/SmallVector.h:1.24
--- llvm/include/llvm/ADT/SmallVector.h:1.23	Wed Jan 31 14:08:34 2007
+++ llvm/include/llvm/ADT/SmallVector.h	Tue Feb 13 01:25:36 2007
@@ -275,8 +275,8 @@
   
   void destroy_range(T *S, T *E) {
     while (S != E) {
-      E->~T();
       --E;
+      E->~T();
     }
   }
 };






More information about the llvm-commits mailing list