From a5eb52189b06d5b9fa56a7cb834472577d6d0abb Mon Sep 17 00:00:00 2001 From: benrubson Date: Thu, 2 Nov 2017 22:26:49 +0100 Subject: [PATCH 1/3] Correct sign-compare warnings --- encfs/BlockFileIO.cpp | 16 ++++++++-------- encfs/BlockFileIO.h | 6 +++--- encfs/CipherFileIO.cpp | 6 +++--- encfs/FileIO.cpp | 2 +- encfs/FileIO.h | 2 +- 5 files changed, 16 insertions(+), 16 deletions(-) diff --git a/encfs/BlockFileIO.cpp b/encfs/BlockFileIO.cpp index 71d2c05b..983f1557 100644 --- a/encfs/BlockFileIO.cpp +++ b/encfs/BlockFileIO.cpp @@ -35,12 +35,12 @@ inline Type min(Type A, Type B) { return (B < A) ? B : A; } -static void clearCache(IORequest &req, int blockSize) { +static void clearCache(IORequest &req, unsigned int blockSize) { memset(req.data, 0, blockSize); req.dataLen = 0; } -BlockFileIO::BlockFileIO(int blockSize, const FSConfigPtr &cfg) +BlockFileIO::BlockFileIO(unsigned int blockSize, const FSConfigPtr &cfg) : _blockSize(blockSize), _allowHoles(cfg->config->allowHoles) { CHECK(_blockSize > 1); _cache.data = new unsigned char[_blockSize]; @@ -89,7 +89,7 @@ ssize_t BlockFileIO::cacheReadOneBlock(const IORequest &req) const { if (result > 0) { _cache.offset = req.offset; _cache.dataLen = result; // the amount we really have - if (result > req.dataLen) { + if ((size_t)result > req.dataLen) { result = req.dataLen; // only as much as requested } memcpy(req.data, _cache.data, result); @@ -146,7 +146,7 @@ ssize_t BlockFileIO::read(const IORequest &req) const { // if we're reading a full block, then read directly into the // result buffer instead of using a temporary - if (partialOffset == 0 && size >= (size_t)_blockSize) { + if (partialOffset == 0 && size >= _blockSize) { blockReq.data = out; } else { if (mb.data == nullptr) { @@ -164,8 +164,8 @@ ssize_t BlockFileIO::read(const IORequest &req) const { break; // didn't get enough bytes } - size_t cpySize = min((size_t)(readSize - partialOffset), size); - CHECK(cpySize <= readSize); + size_t cpySize = min((size_t)readSize - (size_t)partialOffset, size); + CHECK(cpySize <= (size_t)readSize); // if we read to a temporary buffer, then move the data if (blockReq.data != out) { @@ -256,7 +256,7 @@ ssize_t BlockFileIO::write(const IORequest &req) { // if writing an entire block, or writing a partial block that requires // no merging with existing data.. if ((toCopy == _blockSize) || - (partialOffset == 0 && blockReq.offset + toCopy >= fileSize)) { + (partialOffset == 0 && blockReq.offset + (off_t)toCopy >= fileSize)) { // write directly from buffer blockReq.data = inPtr; blockReq.dataLen = toCopy; @@ -314,7 +314,7 @@ ssize_t BlockFileIO::write(const IORequest &req) { return req.dataLen; } -int BlockFileIO::blockSize() const { return _blockSize; } +unsigned int BlockFileIO::blockSize() const { return _blockSize; } /** * Returns 0 in case of success, or -errno in case of failure. diff --git a/encfs/BlockFileIO.h b/encfs/BlockFileIO.h index 94dd71e5..dfb15e2f 100644 --- a/encfs/BlockFileIO.h +++ b/encfs/BlockFileIO.h @@ -38,14 +38,14 @@ namespace encfs { */ class BlockFileIO : public FileIO { public: - BlockFileIO(int blockSize, const FSConfigPtr &cfg); + BlockFileIO(unsigned int blockSize, const FSConfigPtr &cfg); virtual ~BlockFileIO(); // implemented in terms of blocks. virtual ssize_t read(const IORequest &req) const; virtual ssize_t write(const IORequest &req); - virtual int blockSize() const; + virtual unsigned int blockSize() const; protected: int truncateBase(off_t size, FileIO *base); @@ -59,7 +59,7 @@ class BlockFileIO : public FileIO { ssize_t cacheReadOneBlock(const IORequest &req) const; ssize_t cacheWriteOneBlock(const IORequest &req); - int _blockSize; + unsigned int _blockSize; bool _allowHoles; bool _noCache; diff --git a/encfs/CipherFileIO.cpp b/encfs/CipherFileIO.cpp index ad5c42cb..3a0a2975 100644 --- a/encfs/CipherFileIO.cpp +++ b/encfs/CipherFileIO.cpp @@ -377,7 +377,7 @@ ssize_t CipherFileIO::writeOneBlock(const IORequest &req) { return -EPERM; } - int bs = blockSize(); + unsigned int bs = blockSize(); off_t blockNum = req.offset / bs; if (haveHeader && fileIV == 0) { @@ -535,7 +535,7 @@ ssize_t CipherFileIO::read(const IORequest &origReq) const { * to the data. */ if (req.offset < 0) { headerBytes = -req.offset; - if (req.dataLen < headerBytes) { + if (req.dataLen < (size_t)headerBytes) { headerBytes = req.dataLen; // only up to the number of bytes requested } VLOG(1) << "Adding " << headerBytes << " header bytes"; @@ -546,7 +546,7 @@ ssize_t CipherFileIO::read(const IORequest &origReq) const { memcpy(req.data, &headerBuf[headerOffset], headerBytes); // the read does not want data beyond the header - if (headerBytes == req.dataLen) { + if ((size_t)headerBytes == req.dataLen) { return headerBytes; } diff --git a/encfs/FileIO.cpp b/encfs/FileIO.cpp index 2f653e0e..9770e43d 100644 --- a/encfs/FileIO.cpp +++ b/encfs/FileIO.cpp @@ -26,7 +26,7 @@ FileIO::FileIO() = default; FileIO::~FileIO() = default; -int FileIO::blockSize() const { return 1; } +unsigned int FileIO::blockSize() const { return 1; } bool FileIO::setIV(uint64_t iv) { (void)iv; diff --git a/encfs/FileIO.h b/encfs/FileIO.h index c1060db5..d44d7f26 100644 --- a/encfs/FileIO.h +++ b/encfs/FileIO.h @@ -50,7 +50,7 @@ class FileIO { virtual Interface interface() const = 0; // default implementation returns 1, meaning this is not block oriented. - virtual int blockSize() const; + virtual unsigned int blockSize() const; virtual void setFileName(const char *fileName) = 0; virtual const char *getFileName() const = 0; From cf3de75933c8692ce904659da5632c929f8f41da Mon Sep 17 00:00:00 2001 From: benrubson Date: Sat, 18 Nov 2017 09:01:58 +0100 Subject: [PATCH 2/3] Dummy commit --- encfs/BlockFileIO.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/encfs/BlockFileIO.cpp b/encfs/BlockFileIO.cpp index 983f1557..56f916ce 100644 --- a/encfs/BlockFileIO.cpp +++ b/encfs/BlockFileIO.cpp @@ -1,4 +1,4 @@ -/***************************************************************************** +/***************************************************************************** * Author: Valient Gough * ***************************************************************************** From 411e6d96c5daf4503c75789c9a137fa6c3292705 Mon Sep 17 00:00:00 2001 From: benrubson Date: Sat, 18 Nov 2017 09:02:07 +0100 Subject: [PATCH 3/3] to make the test run again --- encfs/BlockFileIO.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/encfs/BlockFileIO.cpp b/encfs/BlockFileIO.cpp index 56f916ce..983f1557 100644 --- a/encfs/BlockFileIO.cpp +++ b/encfs/BlockFileIO.cpp @@ -1,4 +1,4 @@ -/***************************************************************************** +/***************************************************************************** * Author: Valient Gough * *****************************************************************************