Gitweb:
http://git.fedorahosted.org/git/?p=cluster.git;a=commitdiff;h=ade39882b26...
Commit: ade39882b26b8ac0cdcca9bff689f076e78aec91
Parent: b9e9dc905459e10caa4563a43d6c584599e06b50
Author: Fabio M. Di Nitto <fdinitto(a)redhat.com>
AuthorDate: Mon Nov 28 16:48:28 2011 +0100
Committer: Christine Caulfield <ccaulfie(a)redhat.com>
CommitterDate: Fri Nov 20 16:07:51 2015 +0000
qdiskd: fix memcpy direction and possible memory leak
Signed-off-by: Fabio M. Di Nitto <fdinitto(a)redhat.com>
---
cman/qdisk/disk.c | 7 ++++---
1 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/cman/qdisk/disk.c b/cman/qdisk/disk.c
index 9884ea7..524742c 100644
--- a/cman/qdisk/disk.c
+++ b/cman/qdisk/disk.c
@@ -432,10 +432,10 @@ diskRawRead(target_info_t *disk, char *buf, int len)
io_state(STATE_NONE);
if (readret > 0) {
if (readret > len) {
- memcpy(alignedBuf, buf, len);
+ memcpy(buf, alignedBuf, len);
readret = len;
} else {
- memcpy(alignedBuf, buf, readret);
+ memcpy(buf, alignedBuf, readret);
}
}
@@ -505,13 +505,14 @@ diskRawWrite(target_info_t *disk, char *buf, int len)
}
if (len > disk->d_blksz) {
+ free(alignedBuf);
logt_print(LOG_ERR,
"diskRawWrite: not setup for larger than %d.\n",
(int)disk->d_blksz);
return (-1);
}
- memcpy(buf, alignedBuf, len);
+ memcpy(alignedBuf, buf, len);
io_state(STATE_WRITE);
ret = write(disk->d_fd, alignedBuf, writelen);
io_state(STATE_NONE);