sizeof(pointer) will give you the size of a pointer, not the space
allocated to it. I noticed this when gcc complained:
resvtest.c:76:33: warning: argument to 'sizeof' in 'memset' call is the same expression as the destination; did you mean to provide an explicit length? [-Wsizeof-pointer-memaccess]
memset(writebuffer, 'A', sizeof(writebuffer));
Signed-off-by: Jeff Moyer <jmoyer@redhat.com>
Reviewed-by: Alex Elder <elder@linaro.org>
Signed-off-by: Dave Chinner <david@fromorbit.com>
perror("open");
exit(1);
}
perror("open");
exit(1);
}
- memset(writebuffer, 'A', sizeof(writebuffer));
+ memset(writebuffer, 'A', bsize);
unlink(filename);
writefd = open(filename, O_RDWR | O_CREAT | O_EXCL, S_IRUSR | S_IWUSR);
unlink(filename);
writefd = open(filename, O_RDWR | O_CREAT | O_EXCL, S_IRUSR | S_IWUSR);
- if (write(writefd, writebuffer, sizeof(writebuffer)) < 0) {
+ if (write(writefd, writebuffer, bsize) < 0) {
perror("write");
exit(1);
}
perror("write");
exit(1);
}
lseek(readfd, SEEK_SET, 0);
numerrors = 0;
for (j = 0; j < n; j++) {
lseek(readfd, SEEK_SET, 0);
numerrors = 0;
for (j = 0; j < n; j++) {
- if (read(readfd, readbuffer, sizeof(readbuffer)) < 0) {
+ if (read(readfd, readbuffer, bsize) < 0) {
perror("read");
exit(1);
}
perror("read");
exit(1);
}
- for (i = 0; i < sizeof(readbuffer); i++) {
+ for (i = 0; i < bsize; i++) {
if (readbuffer[i] != 'A') {
fprintf(stderr,
"errors detected in file, pos: %d (%lld+%d), nwrites: %d [val=0x%x].\n",
if (readbuffer[i] != 'A') {
fprintf(stderr,
"errors detected in file, pos: %d (%lld+%d), nwrites: %d [val=0x%x].\n",