aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--external/pflash/pflash.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/external/pflash/pflash.c b/external/pflash/pflash.c
index 89bd2fe..c93bbd4 100644
--- a/external/pflash/pflash.c
+++ b/external/pflash/pflash.c
@@ -839,14 +839,20 @@ int main(int argc, char *argv[])
if (!write_size)
write_size = pmaxsz;
- /* Crop write size to partition size */
- if (write_size > pmaxsz) {
+ /* Crop write size to partition size if --force was passed */
+ if (write_size > pmaxsz && !must_confirm) {
printf("WARNING: Size (%d bytes) larger than partition"
" (%d bytes), cropping to fit\n",
write_size, pmaxsz);
write_size = pmaxsz;
+ } else if (write_size > pmaxsz) {
+ printf("ERROR: Size (%d bytes) larger than partition"
+ " (%d bytes). Use --force to force\n",
+ write_size, pmaxsz);
+ exit(1);
}
+
/* If erasing, check partition alignment */
if (erase && ((pstart | pmaxsz) & 0xfff)) {
fprintf(stderr,"Partition not aligned properly\n");