ActivityReplay: Check for null pointer, free resource in test.

Bug fixes: Check for a null pointer when verifying a logged gesture;
delete the interpreter we allocate in the unittest.

BUG=chromium-os:21926
TEST=unittest; tested on device

Change-Id: I7daa1b902fd910d7f5d3ae919e071803e701804a
diff --git a/src/activity_replay.cc b/src/activity_replay.cc
index 7225f45..6da4a6e 100644
--- a/src/activity_replay.cc
+++ b/src/activity_replay.cc
@@ -386,9 +386,9 @@
         }
         break;
       case ActivityLog::kGesture:
-        if (*last_gs != entry->details.gesture) {
+        if (!last_gs || *last_gs != entry->details.gesture) {
           Err("Incorrect gesture. Expected %s, but log has %s",
-              last_gs->String().c_str(),
+              last_gs ? last_gs->String().c_str() : "(null)",
               entry->details.gesture.String().c_str());
           all_correct = false;
         }
diff --git a/src/activity_replay_unittest.cc b/src/activity_replay_unittest.cc
index f4da729..79a298e 100644
--- a/src/activity_replay_unittest.cc
+++ b/src/activity_replay_unittest.cc
@@ -33,6 +33,7 @@
   ActivityReplay replay(prop_reg);
   replay.Parse(log_contents);
   replay.Replay(interpreter);
+  DeleteGestureInterpreter(c_interpreter);
 }
 
 }  // namespace gestures