[cfe-commits] r46105 - in /cfe/trunk: include/clang/Parse/DeclSpec.h test/Sema/declspec.c

Steve Naroff snaroff at apple.com
Wed Jan 16 16:36:28 PST 2008


Author: snaroff
Date: Wed Jan 16 18:36:28 2008
New Revision: 46105

URL: http://llvm.org/viewvc/llvm-project?rev=46105&view=rev
Log:

Declarator::clear(): Null out variable after it's been deleted.

This avoids a double free (which is good:-)

Bug submitted by Eli.

Modified:
    cfe/trunk/include/clang/Parse/DeclSpec.h
    cfe/trunk/test/Sema/declspec.c

Modified: cfe/trunk/include/clang/Parse/DeclSpec.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Parse/DeclSpec.h?rev=46105&r1=46104&r2=46105&view=diff

==============================================================================
--- cfe/trunk/include/clang/Parse/DeclSpec.h (original)
+++ cfe/trunk/include/clang/Parse/DeclSpec.h Wed Jan 16 18:36:28 2008
@@ -566,6 +566,7 @@
     }
     DeclTypeInfo.clear();
     delete AttrList;
+    AttrList = 0;
   }
   
   /// mayOmitIdentifier - Return true if the identifier is either optional or

Modified: cfe/trunk/test/Sema/declspec.c
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Sema/declspec.c?rev=46105&r1=46104&r2=46105&view=diff

==============================================================================
--- cfe/trunk/test/Sema/declspec.c (original)
+++ cfe/trunk/test/Sema/declspec.c Wed Jan 16 18:36:28 2008
@@ -3,3 +3,6 @@
 
 T foo(int n, int m) {  }  // expected-error {{cannot return array or function}}
 
+void foof(const char *, ...) __attribute__((__format__(__printf__, 1, 2))), barf (void);
+
+





More information about the cfe-commits mailing list