Check PartitionUpdate field for old partition info in ValidateManifest.

They are not being checked right now.

Bug: None
TEST=Added a unittest.

Change-Id: I8606bfa40843681fcc3de472116cd6496124ab90
diff --git a/delta_performer.cc b/delta_performer.cc
index ef03cb7..e664749 100644
--- a/delta_performer.cc
+++ b/delta_performer.cc
@@ -1275,6 +1275,14 @@
       return ErrorCode::kPayloadMismatchedType;
     }
 
+    for (const PartitionUpdate& partition : manifest_.partitions()) {
+      if (partition.has_old_partition_info()) {
+        LOG(ERROR) << "Purported full payload contains old partition "
+                      "hash(es), aborting update";
+        return ErrorCode::kPayloadMismatchedType;
+      }
+    }
+
     if (manifest_.minor_version() != kFullPayloadMinorVersion) {
       LOG(ERROR) << "Manifest contains minor version "
                  << manifest_.minor_version()
diff --git a/delta_performer_unittest.cc b/delta_performer_unittest.cc
index 119ad5f..5373e09 100644
--- a/delta_performer_unittest.cc
+++ b/delta_performer_unittest.cc
@@ -501,6 +501,17 @@
   RunManifestValidation(manifest, true, ErrorCode::kPayloadMismatchedType);
 }
 
+TEST_F(DeltaPerformerTest, ValidateManifestFullPartitionUpdateTest) {
+  // The Manifest we are validating.
+  DeltaArchiveManifest manifest;
+  PartitionUpdate* partition = manifest.add_partitions();
+  partition->mutable_old_partition_info();
+  partition->mutable_new_partition_info();
+  manifest.set_minor_version(DeltaPerformer::kSupportedMinorPayloadVersion);
+
+  RunManifestValidation(manifest, true, ErrorCode::kPayloadMismatchedType);
+}
+
 TEST_F(DeltaPerformerTest, ValidateManifestBadMinorVersion) {
   // The Manifest we are validating.
   DeltaArchiveManifest manifest;