diff --git a/Android.bp b/Android.bp
new file mode 100644
index 0000000..934cfda
--- /dev/null
+++ b/Android.bp
@@ -0,0 +1,308 @@
+// Copyright (C) 2015 The Android Open Source Project
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+// libtpm2
+// ========================================================
+cc_library_shared {
+    name: "libtpm2",
+    cflags: [
+        "-Wall",
+        "-Wextra",
+        "-Werror",
+        "-Wno-typedef-redefinition",
+        "-Wno-unused-parameter",
+        "-Wno-missing-field-initializers",
+        "-Wno-tautological-compare",
+        "-Wno-sign-compare",
+    ],
+    local_include_dirs: ["include/tpm2"],
+    shared_libs: ["libcrypto"],
+    export_include_dirs: ["include"],
+    srcs: [
+        "ActivateCredential.c",
+        "AlgorithmCap.c",
+        "Attest_spt.c",
+        "Bits.c",
+        "Cancel.c",
+        "Certify.c",
+        "CertifyCreation.c",
+        "ChangeEPS.c",
+        "ChangePPS.c",
+        "Clear.c",
+        "ClearControl.c",
+        "Clock.c",
+        "ClockRateAdjust.c",
+        "ClockSet.c",
+        "CommandAudit.c",
+        "CommandCodeAttributes.c",
+        "CommandDispatcher.c",
+        "Commit.c",
+        "ContextLoad.c",
+        "ContextSave.c",
+        "Context_spt.c",
+        "CpriCryptPri.c",
+        "CpriECC.c",
+        "CpriHash.c",
+        "CpriMisc.c",
+        "CpriRNG.c",
+        "CpriRSA.c",
+        "CpriSym.c",
+        "Create.c",
+        "CreatePrimary.c",
+        "CryptSelfTest.c",
+        "CryptUtil.c",
+        "DA.c",
+        "DRTM.c",
+        "DictionaryAttackLockReset.c",
+        "DictionaryAttackParameters.c",
+        "Duplicate.c",
+        "ECC_Parameters.c",
+        "ECDH_KeyGen.c",
+        "ECDH_ZGen.c",
+        "EC_Ephemeral.c",
+        "EncryptDecrypt.c",
+        "Entity.c",
+        "Entropy.c",
+        "EventSequenceComplete.c",
+        "EvictControl.c",
+        "ExecCommand.c",
+        "FieldUpgradeData.c",
+        "FieldUpgradeStart.c",
+        "FirmwareRead.c",
+        "FlushContext.c",
+        "GetCapability.c",
+        "GetCommandAuditDigest.c",
+        "GetCommandCodeString.c",
+        "GetRandom.c",
+        "GetSessionAuditDigest.c",
+        "GetTestResult.c",
+        "GetTime.c",
+        "Global.c",
+        "HMAC.c",
+        "HMAC_Start.c",
+        "Handle.c",
+        "HandleProcess.c",
+        "Hash.c",
+        "HashSequenceStart.c",
+        "Hierarchy.c",
+        "HierarchyChangeAuth.c",
+        "HierarchyControl.c",
+        "Import.c",
+        "IncrementalSelfTest.c",
+        "Load.c",
+        "LoadExternal.c",
+        "Locality.c",
+        "LocalityPlat.c",
+        "MakeCredential.c",
+        "Marshal_ActivateCredential.c",
+        "Marshal_Certify.c",
+        "Marshal_CertifyCreation.c",
+        "Marshal_ChangeEPS.c",
+        "Marshal_ChangePPS.c",
+        "Marshal_Clear.c",
+        "Marshal_ClearControl.c",
+        "Marshal_ClockRateAdjust.c",
+        "Marshal_ClockSet.c",
+        "Marshal_Commit.c",
+        "Marshal_ContextLoad.c",
+        "Marshal_ContextSave.c",
+        "Marshal_Create.c",
+        "Marshal_CreatePrimary.c",
+        "Marshal_DictionaryAttackLockReset.c",
+        "Marshal_DictionaryAttackParameters.c",
+        "Marshal_Duplicate.c",
+        "Marshal_ECC_Parameters.c",
+        "Marshal_ECDH_KeyGen.c",
+        "Marshal_ECDH_ZGen.c",
+        "Marshal_EC_Ephemeral.c",
+        "Marshal_EncryptDecrypt.c",
+        "Marshal_EventSequenceComplete.c",
+        "Marshal_EvictControl.c",
+        "Marshal_FirmwareRead.c",
+        "Marshal_FlushContext.c",
+        "Marshal_GetCapability.c",
+        "Marshal_GetCommandAuditDigest.c",
+        "Marshal_GetRandom.c",
+        "Marshal_GetSessionAuditDigest.c",
+        "Marshal_GetTestResult.c",
+        "Marshal_GetTime.c",
+        "Marshal_HMAC.c",
+        "Marshal_HMAC_Start.c",
+        "Marshal_Hash.c",
+        "Marshal_HashSequenceStart.c",
+        "Marshal_HierarchyChangeAuth.c",
+        "Marshal_HierarchyControl.c",
+        "Marshal_Import.c",
+        "Marshal_IncrementalSelfTest.c",
+        "Marshal_Load.c",
+        "Marshal_LoadExternal.c",
+        "Marshal_MakeCredential.c",
+        "Marshal_NV_Certify.c",
+        "Marshal_NV_ChangeAuth.c",
+        "Marshal_NV_DefineSpace.c",
+        "Marshal_NV_Extend.c",
+        "Marshal_NV_GlobalWriteLock.c",
+        "Marshal_NV_Increment.c",
+        "Marshal_NV_Read.c",
+        "Marshal_NV_ReadLock.c",
+        "Marshal_NV_ReadPublic.c",
+        "Marshal_NV_SetBits.c",
+        "Marshal_NV_UndefineSpace.c",
+        "Marshal_NV_UndefineSpaceSpecial.c",
+        "Marshal_NV_Write.c",
+        "Marshal_NV_WriteLock.c",
+        "Marshal_ObjectChangeAuth.c",
+        "Marshal_PCR_Allocate.c",
+        "Marshal_PCR_Event.c",
+        "Marshal_PCR_Extend.c",
+        "Marshal_PCR_Read.c",
+        "Marshal_PCR_Reset.c",
+        "Marshal_PCR_SetAuthPolicy.c",
+        "Marshal_PCR_SetAuthValue.c",
+        "Marshal_PP_Commands.c",
+        "Marshal_PolicyAuthValue.c",
+        "Marshal_PolicyAuthorize.c",
+        "Marshal_PolicyCommandCode.c",
+        "Marshal_PolicyCounterTimer.c",
+        "Marshal_PolicyCpHash.c",
+        "Marshal_PolicyDuplicationSelect.c",
+        "Marshal_PolicyGetDigest.c",
+        "Marshal_PolicyLocality.c",
+        "Marshal_PolicyNV.c",
+        "Marshal_PolicyNameHash.c",
+        "Marshal_PolicyNvWritten.c",
+        "Marshal_PolicyOR.c",
+        "Marshal_PolicyPCR.c",
+        "Marshal_PolicyPassword.c",
+        "Marshal_PolicyPhysicalPresence.c",
+        "Marshal_PolicyRestart.c",
+        "Marshal_PolicySecret.c",
+        "Marshal_PolicySigned.c",
+        "Marshal_PolicyTicket.c",
+        "Marshal_Quote.c",
+        "Marshal_RSA_Decrypt.c",
+        "Marshal_RSA_Encrypt.c",
+        "Marshal_ReadClock.c",
+        "Marshal_ReadPublic.c",
+        "Marshal_Rewrap.c",
+        "Marshal_SelfTest.c",
+        "Marshal_SequenceComplete.c",
+        "Marshal_SequenceUpdate.c",
+        "Marshal_SetAlgorithmSet.c",
+        "Marshal_SetCommandCodeAuditStatus.c",
+        "Marshal_SetPrimaryPolicy.c",
+        "Marshal_Shutdown.c",
+        "Marshal_Sign.c",
+        "Marshal_StartAuthSession.c",
+        "Marshal_Startup.c",
+        "Marshal_StirRandom.c",
+        "Marshal_TestParms.c",
+        "Marshal_Unseal.c",
+        "Marshal_VerifySignature.c",
+        "Marshal_ZGen_2Phase.c",
+        "Manufacture.c",
+        "MathFunctions.c",
+        "MemoryLib.c",
+        "NV.c",
+        "NVMem.c",
+        "NV_Certify.c",
+        "NV_ChangeAuth.c",
+        "NV_DefineSpace.c",
+        "NV_Extend.c",
+        "NV_GlobalWriteLock.c",
+        "NV_Increment.c",
+        "NV_Read.c",
+        "NV_ReadLock.c",
+        "NV_ReadPublic.c",
+        "NV_SetBits.c",
+        "NV_UndefineSpace.c",
+        "NV_UndefineSpaceSpecial.c",
+        "NV_Write.c",
+        "NV_WriteLock.c",
+        "NV_spt.c",
+        "Object.c",
+        "ObjectChangeAuth.c",
+        "Object_spt.c",
+        "PCR.c",
+        "PCR_Allocate.c",
+        "PCR_Event.c",
+        "PCR_Extend.c",
+        "PCR_Read.c",
+        "PCR_Reset.c",
+        "PCR_SetAuthPolicy.c",
+        "PCR_SetAuthValue.c",
+        "PP.c",
+        "PPPlat.c",
+        "PP_Commands.c",
+        "PlatformData.c",
+        "PolicyAuthValue.c",
+        "PolicyAuthorize.c",
+        "PolicyCommandCode.c",
+        "PolicyCounterTimer.c",
+        "PolicyCpHash.c",
+        "PolicyDuplicationSelect.c",
+        "PolicyGetDigest.c",
+        "PolicyLocality.c",
+        "PolicyNV.c",
+        "PolicyNameHash.c",
+        "PolicyNvWritten.c",
+        "PolicyOR.c",
+        "PolicyPCR.c",
+        "PolicyPassword.c",
+        "PolicyPhysicalPresence.c",
+        "PolicyRestart.c",
+        "PolicySecret.c",
+        "PolicySigned.c",
+        "PolicyTicket.c",
+        "Policy_spt.c",
+        "Power.c",
+        "PowerPlat.c",
+        "PropertyCap.c",
+        "Quote.c",
+        "RSAData.c",
+        "RSAKeySieve.c",
+        "RSA_Decrypt.c",
+        "RSA_Encrypt.c",
+        "ReadClock.c",
+        "ReadPublic.c",
+        "Rewrap.c",
+        "SelfTest.c",
+        "SequenceComplete.c",
+        "SequenceUpdate.c",
+        "Session.c",
+        "SessionProcess.c",
+        "SetAlgorithmSet.c",
+        "SetCommandCodeAuditStatus.c",
+        "SetPrimaryPolicy.c",
+        "Shutdown.c",
+        "Sign.c",
+        "StartAuthSession.c",
+        "Startup.c",
+        "StirRandom.c",
+        "TestParms.c",
+        "Ticket.c",
+        "Time.c",
+        "TpmFail.c",
+        "Unique.c",
+        "Unseal.c",
+        "VerifySignature.c",
+        "ZGen_2Phase.c",
+        "_TPM_Hash_Data.c",
+        "_TPM_Hash_End.c",
+        "_TPM_Hash_Start.c",
+        "_TPM_Init.c",
+        "tpm_generated.c",
+    ],
+
+}
diff --git a/Android.mk b/Android.mk
deleted file mode 100644
index 46e84c9..0000000
--- a/Android.mk
+++ /dev/null
@@ -1,305 +0,0 @@
-# Copyright (C) 2015 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-LOCAL_PATH := $(call my-dir)
-
-# libtpm2
-# ========================================================
-include $(CLEAR_VARS)
-LOCAL_MODULE := libtpm2
-LOCAL_CFLAGS := -Wall -Wextra -Werror \
-  -Wno-typedef-redefinition \
-  -Wno-unused-parameter \
-  -Wno-missing-field-initializers \
-  -Wno-tautological-compare \
-  -Wno-sign-compare
-LOCAL_C_INCLUDES := $(LOCAL_PATH)/include/tpm2
-LOCAL_CLANG := true
-LOCAL_SHARED_LIBRARIES := libcrypto
-LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)/include
-LOCAL_SRC_FILES := \
-  ActivateCredential.c \
-  AlgorithmCap.c \
-  Attest_spt.c \
-  Bits.c \
-  Cancel.c \
-  Certify.c \
-  CertifyCreation.c \
-  ChangeEPS.c \
-  ChangePPS.c \
-  Clear.c \
-  ClearControl.c \
-  Clock.c \
-  ClockRateAdjust.c \
-  ClockSet.c \
-  CommandAudit.c \
-  CommandCodeAttributes.c \
-  CommandDispatcher.c \
-  Commit.c \
-  ContextLoad.c \
-  ContextSave.c \
-  Context_spt.c \
-  CpriCryptPri.c \
-  CpriECC.c \
-  CpriHash.c \
-  CpriMisc.c \
-  CpriRNG.c \
-  CpriRSA.c \
-  CpriSym.c \
-  Create.c \
-  CreatePrimary.c \
-  CryptSelfTest.c \
-  CryptUtil.c \
-  DA.c \
-  DRTM.c \
-  DictionaryAttackLockReset.c \
-  DictionaryAttackParameters.c \
-  Duplicate.c \
-  ECC_Parameters.c \
-  ECDH_KeyGen.c \
-  ECDH_ZGen.c \
-  EC_Ephemeral.c \
-  EncryptDecrypt.c \
-  Entity.c \
-  Entropy.c \
-  EventSequenceComplete.c \
-  EvictControl.c \
-  ExecCommand.c \
-  FieldUpgradeData.c \
-  FieldUpgradeStart.c \
-  FirmwareRead.c \
-  FlushContext.c \
-  GetCapability.c \
-  GetCommandAuditDigest.c \
-  GetCommandCodeString.c \
-  GetRandom.c \
-  GetSessionAuditDigest.c \
-  GetTestResult.c \
-  GetTime.c \
-  Global.c \
-  HMAC.c \
-  HMAC_Start.c \
-  Handle.c \
-  HandleProcess.c \
-  Hash.c \
-  HashSequenceStart.c \
-  Hierarchy.c \
-  HierarchyChangeAuth.c \
-  HierarchyControl.c \
-  Import.c \
-  IncrementalSelfTest.c \
-  Load.c \
-  LoadExternal.c \
-  Locality.c \
-  LocalityPlat.c \
-  MakeCredential.c \
-  Marshal_ActivateCredential.c \
-  Marshal_Certify.c \
-  Marshal_CertifyCreation.c \
-  Marshal_ChangeEPS.c \
-  Marshal_ChangePPS.c \
-  Marshal_Clear.c \
-  Marshal_ClearControl.c \
-  Marshal_ClockRateAdjust.c \
-  Marshal_ClockSet.c \
-  Marshal_Commit.c \
-  Marshal_ContextLoad.c \
-  Marshal_ContextSave.c \
-  Marshal_Create.c \
-  Marshal_CreatePrimary.c \
-  Marshal_DictionaryAttackLockReset.c \
-  Marshal_DictionaryAttackParameters.c \
-  Marshal_Duplicate.c \
-  Marshal_ECC_Parameters.c \
-  Marshal_ECDH_KeyGen.c \
-  Marshal_ECDH_ZGen.c \
-  Marshal_EC_Ephemeral.c \
-  Marshal_EncryptDecrypt.c \
-  Marshal_EventSequenceComplete.c \
-  Marshal_EvictControl.c \
-  Marshal_FirmwareRead.c \
-  Marshal_FlushContext.c \
-  Marshal_GetCapability.c \
-  Marshal_GetCommandAuditDigest.c \
-  Marshal_GetRandom.c \
-  Marshal_GetSessionAuditDigest.c \
-  Marshal_GetTestResult.c \
-  Marshal_GetTime.c \
-  Marshal_HMAC.c \
-  Marshal_HMAC_Start.c \
-  Marshal_Hash.c \
-  Marshal_HashSequenceStart.c \
-  Marshal_HierarchyChangeAuth.c \
-  Marshal_HierarchyControl.c \
-  Marshal_Import.c \
-  Marshal_IncrementalSelfTest.c \
-  Marshal_Load.c \
-  Marshal_LoadExternal.c \
-  Marshal_MakeCredential.c \
-  Marshal_NV_Certify.c \
-  Marshal_NV_ChangeAuth.c \
-  Marshal_NV_DefineSpace.c \
-  Marshal_NV_Extend.c \
-  Marshal_NV_GlobalWriteLock.c \
-  Marshal_NV_Increment.c \
-  Marshal_NV_Read.c \
-  Marshal_NV_ReadLock.c \
-  Marshal_NV_ReadPublic.c \
-  Marshal_NV_SetBits.c \
-  Marshal_NV_UndefineSpace.c \
-  Marshal_NV_UndefineSpaceSpecial.c \
-  Marshal_NV_Write.c \
-  Marshal_NV_WriteLock.c \
-  Marshal_ObjectChangeAuth.c \
-  Marshal_PCR_Allocate.c \
-  Marshal_PCR_Event.c \
-  Marshal_PCR_Extend.c \
-  Marshal_PCR_Read.c \
-  Marshal_PCR_Reset.c \
-  Marshal_PCR_SetAuthPolicy.c \
-  Marshal_PCR_SetAuthValue.c \
-  Marshal_PP_Commands.c \
-  Marshal_PolicyAuthValue.c \
-  Marshal_PolicyAuthorize.c \
-  Marshal_PolicyCommandCode.c \
-  Marshal_PolicyCounterTimer.c \
-  Marshal_PolicyCpHash.c \
-  Marshal_PolicyDuplicationSelect.c \
-  Marshal_PolicyGetDigest.c \
-  Marshal_PolicyLocality.c \
-  Marshal_PolicyNV.c \
-  Marshal_PolicyNameHash.c \
-  Marshal_PolicyNvWritten.c \
-  Marshal_PolicyOR.c \
-  Marshal_PolicyPCR.c \
-  Marshal_PolicyPassword.c \
-  Marshal_PolicyPhysicalPresence.c \
-  Marshal_PolicyRestart.c \
-  Marshal_PolicySecret.c \
-  Marshal_PolicySigned.c \
-  Marshal_PolicyTicket.c \
-  Marshal_Quote.c \
-  Marshal_RSA_Decrypt.c \
-  Marshal_RSA_Encrypt.c \
-  Marshal_ReadClock.c \
-  Marshal_ReadPublic.c \
-  Marshal_Rewrap.c \
-  Marshal_SelfTest.c \
-  Marshal_SequenceComplete.c \
-  Marshal_SequenceUpdate.c \
-  Marshal_SetAlgorithmSet.c \
-  Marshal_SetCommandCodeAuditStatus.c \
-  Marshal_SetPrimaryPolicy.c \
-  Marshal_Shutdown.c \
-  Marshal_Sign.c \
-  Marshal_StartAuthSession.c \
-  Marshal_Startup.c \
-  Marshal_StirRandom.c \
-  Marshal_TestParms.c \
-  Marshal_Unseal.c \
-  Marshal_VerifySignature.c \
-  Marshal_ZGen_2Phase.c \
-  Manufacture.c \
-  MathFunctions.c \
-  MemoryLib.c \
-  NV.c \
-  NVMem.c \
-  NV_Certify.c \
-  NV_ChangeAuth.c \
-  NV_DefineSpace.c \
-  NV_Extend.c \
-  NV_GlobalWriteLock.c \
-  NV_Increment.c \
-  NV_Read.c \
-  NV_ReadLock.c \
-  NV_ReadPublic.c \
-  NV_SetBits.c \
-  NV_UndefineSpace.c \
-  NV_UndefineSpaceSpecial.c \
-  NV_Write.c \
-  NV_WriteLock.c \
-  NV_spt.c \
-  Object.c \
-  ObjectChangeAuth.c \
-  Object_spt.c \
-  PCR.c \
-  PCR_Allocate.c \
-  PCR_Event.c \
-  PCR_Extend.c \
-  PCR_Read.c \
-  PCR_Reset.c \
-  PCR_SetAuthPolicy.c \
-  PCR_SetAuthValue.c \
-  PP.c \
-  PPPlat.c \
-  PP_Commands.c \
-  PlatformData.c \
-  PolicyAuthValue.c \
-  PolicyAuthorize.c \
-  PolicyCommandCode.c \
-  PolicyCounterTimer.c \
-  PolicyCpHash.c \
-  PolicyDuplicationSelect.c \
-  PolicyGetDigest.c \
-  PolicyLocality.c \
-  PolicyNV.c \
-  PolicyNameHash.c \
-  PolicyNvWritten.c \
-  PolicyOR.c \
-  PolicyPCR.c \
-  PolicyPassword.c \
-  PolicyPhysicalPresence.c \
-  PolicyRestart.c \
-  PolicySecret.c \
-  PolicySigned.c \
-  PolicyTicket.c \
-  Policy_spt.c \
-  Power.c \
-  PowerPlat.c \
-  PropertyCap.c \
-  Quote.c \
-  RSAData.c \
-  RSAKeySieve.c \
-  RSA_Decrypt.c \
-  RSA_Encrypt.c \
-  ReadClock.c \
-  ReadPublic.c \
-  Rewrap.c \
-  SelfTest.c \
-  SequenceComplete.c \
-  SequenceUpdate.c \
-  Session.c \
-  SessionProcess.c \
-  SetAlgorithmSet.c \
-  SetCommandCodeAuditStatus.c \
-  SetPrimaryPolicy.c \
-  Shutdown.c \
-  Sign.c \
-  StartAuthSession.c \
-  Startup.c \
-  StirRandom.c \
-  TestParms.c \
-  Ticket.c \
-  Time.c \
-  TpmFail.c \
-  Unique.c \
-  Unseal.c \
-  VerifySignature.c \
-  ZGen_2Phase.c \
-  _TPM_Hash_Data.c \
-  _TPM_Hash_End.c \
-  _TPM_Hash_Start.c \
-  _TPM_Init.c \
-  tpm_generated.c
-include $(BUILD_SHARED_LIBRARY)
diff --git a/MemoryLib.c b/MemoryLib.c
index 7beac63..178848e 100644
--- a/MemoryLib.c
+++ b/MemoryLib.c
@@ -75,15 +75,15 @@
       UINT32            size                 // IN: size of bytes being compared
       )
 {
-      BOOL          equal = TRUE;
+      BOOL          diff = FALSE;
       const BYTE   *b1, *b2;
       b1 = (BYTE *)buffer1;
       b2 = (BYTE *)buffer2;
       // Compare all bytes so that there is no leakage of information
       // due to timing differences.
       for(; size > 0; size--)
-          equal = (*b1++ == *b2++) && equal;
-      return equal;
+          diff |= *b1++ ^ *b2++;
+      return !diff;
 }
 //
 //
diff --git a/fuzz/Dockerfile b/fuzz/Dockerfile
index 69e2878..db3e560 100644
--- a/fuzz/Dockerfile
+++ b/fuzz/Dockerfile
@@ -1,11 +1,13 @@
-# Copyright 2016 The Chromium Authors. All rights reserved.
+# Copyright 2017 The Chromium Authors. All rights reserved.
 # Use of this source code is governed by a BSD-style license that can be
 # found in the LICENSE file.
 #
 # Defines a docker image that can build fuzzers.
 #
-FROM ossfuzz/base-libfuzzer
-RUN apt-get install -y make libssl-dev binutils libgcc-5-dev
+FROM gcr.io/oss-fuzz-base/base-builder
+RUN apt-get update && apt-get install -y make libssl-dev binutils libgcc-5-dev
 
 COPY . /src/tpm2/
 COPY fuzz/build.sh /src/
+
+WORKDIR tpm2
diff --git a/fuzz/README b/fuzz/README
index 4c0cc04..90fd5f6 100644
--- a/fuzz/README
+++ b/fuzz/README
@@ -32,6 +32,12 @@
 
     $ docker run -ti --rm -v $(pwd):/src/tpm2 -v /tmp/fuzzers:/out \
                  ossfuzz/tpm2
+    or
+
+    $ docker run -ti --rm -v $(pwd):/src/tpm2 -v /tmp/fuzzers:/out \
+                -e FUZZING_ENGINE=libfuzzer \
+                -e SANITIZER=<address/memory/undefined> \
+                ossfuzz/tpm2
 
   Get a shell in the container
 
