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 | 6b3502c5c3eba1d3da40c4c78b31f4d8cffec051 (patch) | |
tree | 6edde765bec82a5e9c4edd3fb68c5e714918f48d | |
parent | ec9215604073ccd79f26bbd2650dd691d8e7df8d (diff) |
fix free/delete mismatch problem in add/mergeProperties (found by valgrind)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50945 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/AST/DeclObjC.cpp | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/lib/AST/DeclObjC.cpp b/lib/AST/DeclObjC.cpp index cda73d2ff9..701ad353a3 100644 --- a/lib/AST/DeclObjC.cpp +++ b/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); } } |