From c2b3217823444792b52d621b3cd024d64c3338e3 Mon Sep 17 00:00:00 2001 From: Barry Hayes Date: Tue, 2 Feb 2010 14:05:09 -0800 Subject: Add a "dalvik.vm.gc.overwritefree" property. When set to "true", the VM will be given the "-Xgc:overwritefree" flag, and the GC will clobber the memory of freed objects. --- core/jni/AndroidRuntime.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'core/jni') diff --git a/core/jni/AndroidRuntime.cpp b/core/jni/AndroidRuntime.cpp index fa1ee0d..1d22de3 100644 --- a/core/jni/AndroidRuntime.cpp +++ b/core/jni/AndroidRuntime.cpp @@ -656,6 +656,15 @@ int AndroidRuntime::startVm(JavaVM** pJavaVM, JNIEnv** pEnv) } } + /* enable poisoning of memory of freed objects */ + property_get("dalvik.vm.gc.overwritefree", propBuf, "false"); + if (strcmp(propBuf, "true") == 0) { + opt.optionString = "-Xgc:overwritefree"; + mOptions.add(opt); + } else if (strcmp(propBuf, "false") != 0) { + LOGW("dalvik.vm.gc.overwritefree should be 'true' or 'false'"); + } + /* enable debugging; set suspend=y to pause during VM init */ #ifdef HAVE_ANDROID_OS /* use android ADB transport */ -- cgit v1.1