Snap for 6227608 from e6d008be0cc174c92e38ba47426877ac8a0cbe2f to r-keystone-qcom-release

Change-Id: I48500135f7b29dfc2d3d7d7e71f53bd1a1d2fcbf
diff --git a/README.md b/README.md
index 6f44981..6b8c73f 100644
--- a/README.md
+++ b/README.md
@@ -1,3 +1,14 @@
 This is the home of the .dex manipulation library (slicer) and command line tool (dexter).
 
 Both the command line tool and the library can be built for host and device targets.
+
+To build dexter:
+```
+$ m dexter
+```
+
+To test dexter:
+```
+# in tools/dexter (and assuming a Linux host)
+$ python dexter/dexter_tests.py -cmd ../../out/host/linux-x86/bin/dexter -root testdata
+```
diff --git a/slicer/instrumentation.cc b/slicer/instrumentation.cc
index 45895ac..7c93791 100644
--- a/slicer/instrumentation.cc
+++ b/slicer/instrumentation.cc
@@ -161,7 +161,8 @@
 bool EntryHook::InjectArrayParamsHook(lir::CodeIr* code_ir, lir::Bytecode* bytecode) {
   ir::Builder builder(code_ir->dex_ir);
   const auto ir_method = code_ir->ir_method;
-  auto param_types = ir_method->decl->prototype->param_types->types;
+  auto param_types_list = ir_method->decl->prototype->param_types;
+  auto param_types = param_types_list != nullptr ? param_types_list->types : std::vector<ir::Type*>();
   bool is_static = (ir_method->access_flags & dex::kAccStatic) != 0;
 
   bool needsBoxingReg = false;