X-Git-Url: https://git.archive.openwrt.org/?p=openwrt.git;a=blobdiff_plain;f=package%2Fsystem%2Fmtd%2Fsrc%2Fseama.c;h=b51177ac87d6d849d14467fdaccb08d12543e6b7;hp=42b1e88e080f2bf6d8875ff7f6e14470ae4dc4db;hb=96b3c3de4e7bb3f08774875160b6ae12b868d6ec;hpb=c17c84e7b93ae124075218e6724c071f55876ff5 diff --git a/package/system/mtd/src/seama.c b/package/system/mtd/src/seama.c index 42b1e88e08..b51177ac87 100644 --- a/package/system/mtd/src/seama.c +++ b/package/system/mtd/src/seama.c @@ -51,9 +51,8 @@ ssize_t pread(int fd, void *buf, size_t count, off_t offset); ssize_t pwrite(int fd, const void *buf, size_t count, off_t offset); int -seama_fix_md5(char *buf, size_t len) +seama_fix_md5(struct seama_entity_header *shdr, char *buf, size_t len) { - struct seama_entity_header *shdr = (struct seama_entity_header *) buf; char *data; size_t msize; size_t isize; @@ -163,7 +162,7 @@ mtd_fixseama(const char *mtd, size_t offset) exit(1); } - if (seama_fix_md5(buf, mtdsize)) + if (seama_fix_md5(shdr, buf, mtdsize)) goto out; if (mtd_erase_block(fd, block_offset)) { @@ -175,7 +174,7 @@ mtd_fixseama(const char *mtd, size_t offset) if (quiet < 2) fprintf(stderr, "Rewriting block at 0x%x\n", block_offset); - if (pwrite(fd, buf, erasesize, block_offset) != erasesize) { + if (pwrite(fd, first_block, erasesize, block_offset) != erasesize) { fprintf(stderr, "Error writing block (%s)\n", strerror(errno)); exit(1); }