release-request-e44ed829-e254-4762-ae37-a7739a0f37fb-for-git_oc-dr1-release-3964285 snap-temp-L49200000059745790

Change-Id: I7f927edc5ada69ab313574c10eabcc48192f0a69
diff --git a/aidl_language_y.yy b/aidl_language_y.yy
index 4ad6754..f802362 100644
--- a/aidl_language_y.yy
+++ b/aidl_language_y.yy
@@ -105,6 +105,7 @@
  | qualified_name '.' identifier
   { $$ = $1;
     $$->AddTerm($3->GetText());
+    delete $3;
   };
 
 parcelable_decls
diff --git a/main_cpp.cpp b/main_cpp.cpp
index 790efdc..e904a92 100644
--- a/main_cpp.cpp
+++ b/main_cpp.cpp
@@ -23,6 +23,11 @@
 
 using android::aidl::CppOptions;
 
+// aidl is leaky. Turn off LeakSanitizer by default. b/37749857
+extern "C" const char *__asan_default_options() {
+    return "detect_leaks=0";
+}
+
 int main(int argc, char** argv) {
   android::base::InitLogging(argv);
   LOG(DEBUG) << "aidl starting";
diff --git a/main_java.cpp b/main_java.cpp
index 7d32b24..d624a13 100644
--- a/main_java.cpp
+++ b/main_java.cpp
@@ -24,6 +24,11 @@
 
 using android::aidl::JavaOptions;
 
+// aidl is leaky. Turn off LeakSanitizer by default. b/37749857
+extern "C" const char *__asan_default_options() {
+    return "detect_leaks=0";
+}
+
 int main(int argc, char** argv) {
   android::base::InitLogging(argv);
   LOG(DEBUG) << "aidl starting";