update_engine: Add delta_performer_fuzzer

delta_performer operates on data it downloads from Omaha servers. Most
of the data is signed, but there are a few header bytes that are not
signed. It worth doing this fuzzer.

BUG=chromium:1014275
TEST=FEATURES=test USE="asan fuzzer" emerge-amd64-generic update_engine

Change-Id: I514bac5f8c4d28833cd01e1456481fb593c9f51a
Reviewed-on: https://chromium-review.googlesource.com/c/aosp/platform/system/update_engine/+/1860994
Reviewed-by: Manoj Gupta <[email protected]>
Tested-by: Amin Hassani <[email protected]>
diff --git a/BUILD.gn b/BUILD.gn
index 1e803a0..01207bd 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -50,7 +50,10 @@
   }
 
   if (use.fuzzer) {
-    deps += [ ":update_engine_omaha_request_action_fuzzer" ]
+    deps += [
+      ":update_engine_delta_performer_fuzzer",
+      ":update_engine_omaha_request_action_fuzzer",
+    ]
   }
 }
 
@@ -553,6 +556,23 @@
 
 # Fuzzer target.
 if (use.fuzzer) {
+  executable("update_engine_delta_performer_fuzzer") {
+    sources = [
+      "payload_consumer/delta_performer_fuzzer.cc",
+    ]
+    configs += [
+      "//common-mk/common_fuzzer",
+      ":target_defaults",
+    ]
+    pkg_deps = [
+      "libbrillo-test-${libbase_ver}",
+      "libchrome-test-${libbase_ver}",
+    ]
+    deps = [
+      ":libupdate_engine",
+      ":update_engine_test_libs",
+    ]
+  }
   executable("update_engine_omaha_request_action_fuzzer") {
     sources = [
       "omaha_request_action_fuzzer.cc",