aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGene Cumm <gene.cumm@gmail.com>2015-08-23 13:49:33 -0400
committerGene Cumm <gene.cumm@gmail.com>2015-08-23 13:49:33 -0400
commit486cc034fd35170a952421914bf1eb95de0b6a90 (patch)
treecf36d7592f03d1172365a3cdc1481d8e98006f79
parente466d2498604c8eea055a8e98284d65311073b39 (diff)
downloadsyslinux-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.c6
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)