+ validate = malloc (start_count);
+
+ retval = target_read_buffer(target, start_address, start_count, validate);
+ if (retval != ERROR_OK) {
+ free (validate);
+ return retval;
+ }
+
+ for (check = 0; check < start_count; check++) {
+ if (validate[check] != start[check]) {
+ LOG_ERROR ("flash corrupted at 0x%08x (%02x != %02x)\n",
+ start_address + check, start[check], validate[check]);
+ retval = ERROR_FAIL;
+ break;
+ }
+ }
+
+ free (validate);
+
+ return retval;