From d70168d1bfdc3883095666a7347dca78707afc3a Mon Sep 17 00:00:00 2001 From: Robert Date: Sun, 23 Aug 2015 13:49:33 -0400 Subject: com32: write_sectors() sizing corrections Memory allocation and copy length should be SECTOR * size for sectors operation. Signed-off-by: Robert Signed-off-by: Gene Cumm --- com32/gpllib/disk/write.c | 6 +++--- 1 file 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) -- cgit