Merge "app: aboot: Do not perform erase when the device is locked"
diff --git a/app/aboot/aboot.c b/app/aboot/aboot.c
index ea10323..91585cb 100644
--- a/app/aboot/aboot.c
+++ b/app/aboot/aboot.c
@@ -1983,6 +1983,22 @@
 
 void cmd_erase(const char *arg, void *data, unsigned sz)
 {
+#if VERIFIED_BOOT
+	if(!device.is_unlocked && !device.is_verified)
+	{
+		fastboot_fail("device is locked. Cannot erase");
+		return;
+	}
+	if(!device.is_unlocked && device.is_verified)
+	{
+		if(!boot_verify_flash_allowed(arg))
+		{
+			fastboot_fail("cannot flash this partition in verified state");
+			return;
+		}
+	}
+#endif
+
 	if(target_is_emmc_boot())
 		cmd_erase_mmc(arg, data, sz);
 	else