Fix a bug in the DFA destructor.

Change-Id: I6ab0bef2223b6b9b64db0fd6cb1178ef4d9cf8d7
Reviewed-on: https://code-review.googlesource.com/c/36390
Reviewed-by: Paul Wankadia <junyer@google.com>
diff --git a/re2/dfa.cc b/re2/dfa.cc
index 5c50b4a..5574071 100644
--- a/re2/dfa.cc
+++ b/re2/dfa.cc
@@ -522,8 +522,10 @@
 }
 
 DFA::~DFA() {
-  for (int i = 0; i < cache_mutex_count_; i++)
-    cache_mutex_[i].~AlignedMutex();
+  if (cache_mutex_storage_ != NULL) {
+    for (int i = 0; i < cache_mutex_count_; i++)
+      cache_mutex_[i].~AlignedMutex();
+  }
   delete[] cache_mutex_storage_;
   delete[] astack_;
   delete q1_;