diff options
author | Gene Cumm <gene.cumm@gmail.com> | 2015-08-23 13:49:33 -0400 |
---|---|---|
committer | Gene Cumm <gene.cumm@gmail.com> | 2015-08-23 13:49:33 -0400 |
commit | 486cc034fd35170a952421914bf1eb95de0b6a90 (patch) | |
tree | cf36d7592f03d1172365a3cdc1481d8e98006f79 | |
parent | e466d2498604c8eea055a8e98284d65311073b39 (diff) | |
download | syslinux-486cc034fd35170a952421914bf1eb95de0b6a90.tar.gz syslinux-486cc034fd35170a952421914bf1eb95de0b6a90.tar.xz syslinux-486cc034fd35170a952421914bf1eb95de0b6a90.zip |
com32: write_sectors() sizing correctionsobsolete-20150823
Memory allocation and copy length should be SECTOR * size for sectors
operation.
Signed-off-by: Robert <luyao-c@360.cn>
Signed-off-by: Gene Cumm <gene.cumm@gmail.com>
-rw-r--r-- | com32/gpllib/disk/write.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/com32/gpllib/disk/write.c b/com32/gpllib/disk/write.c index d183adef..3c9edffd 100644 --- a/com32/gpllib/disk/write.c +++ b/com32/gpllib/disk/write.c @@ -40,7 +40,7 @@ int write_sectors(const struct driveinfo *drive_info, const unsigned int lba, void *buf; int rv = -1; - buf = lmalloc(size); + buf = lmalloc(SECTOR * size); if (!buf) return -1; @@ -48,7 +48,7 @@ int write_sectors(const struct driveinfo *drive_info, const unsigned int lba, if (!dapa) goto out; - memcpy(buf, data, size); + memcpy(buf, data, SECTOR * size); memset(&inreg, 0, sizeof inreg); if (drive_info->ebios) { @@ -123,7 +123,7 @@ int write_verify_sectors(struct driveinfo *drive_info, const unsigned int lba, const void *data, const int size) { - char *rb = malloc(SECTOR * size * sizeof(char)); + char *rb = malloc(SECTOR * size); int status; if (write_sectors(drive_info, lba, data, size) == -1) |