diff options
author | Nuno Lopes <nunoplopes@sapo.pt> | 2008-05-10 10:31:54 +0000 |
---|---|---|
committer | Nuno Lopes <nunoplopes@sapo.pt> | 2008-05-10 10:31:54 +0000 |
commit | de9746cd45013c6f82d73d209c77384e21b548b1 (patch) | |
tree | e8d605cd7e0d9b19f30a19a077096c1387f79363 | |
parent | a1f949a2df405bde05091a28768861334c74b5b7 (diff) | |
download | bcm5719-llvm-de9746cd45013c6f82d73d209c77384e21b548b1.tar.gz bcm5719-llvm-de9746cd45013c6f82d73d209c77384e21b548b1.zip |
fix free/delete mismatch problem in add/mergeProperties (found by valgrind)
llvm-svn: 50945
-rw-r--r-- | clang/lib/AST/DeclObjC.cpp | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/clang/lib/AST/DeclObjC.cpp b/clang/lib/AST/DeclObjC.cpp index cda73d2ff9c..701ad353a3e 100644 --- a/clang/lib/AST/DeclObjC.cpp +++ b/clang/lib/AST/DeclObjC.cpp @@ -260,14 +260,12 @@ void ObjCInterfaceDecl::mergeProperties(ObjCPropertyDecl **Properties, // Add new properties to this buffer. memcpy(buf+NumPropertyDecl, Properties, NumNewProperties*sizeof(ObjCPropertyDecl*)); - free(PropertyDecl); + delete[] PropertyDecl; PropertyDecl = newPropertyDecl; NumPropertyDecl += NumNewProperties; } else { - PropertyDecl = new ObjCPropertyDecl*[NumNewProperties]; - memcpy(PropertyDecl, Properties, NumNewProperties*sizeof(ObjCPropertyDecl*)); - NumPropertyDecl = NumNewProperties; + addProperties(Properties, NumNewProperties); } } |