Fix unsafe AuthorizationSet copy constructor am: 856761d5b0
am: b1167fd254

Change-Id: I1c5ac75308e24e5ef4644932d79be0c06392631f
diff --git a/include/keymaster/authorization_set.h b/include/keymaster/authorization_set.h
index 1a7894d..bebbfff 100644
--- a/include/keymaster/authorization_set.h
+++ b/include/keymaster/authorization_set.h
@@ -78,8 +78,9 @@
     // Copy constructor.
     AuthorizationSet(const AuthorizationSet& set) : Serializable(), indirect_data_(nullptr) {
         elems_ = nullptr;
-        Reinitialize(set.elems_, set.elems_size_);
         error_ = set.error_;
+        if (error_ != OK) return;
+        Reinitialize(set.elems_, set.elems_size_);
     }
 
     // Move constructor.