This is an automated email from the ASF dual-hosted git repository. szaszm pushed a commit to branch MINIFICPP-1507 in repository https://gitbox.apache.org/repos/asf/nifi-minifi-cpp.git
commit 3010f2b0ad05dc3eec39d4c98c8e8659894b3268 Author: Marton Szasz <[email protected]> AuthorDate: Thu Mar 18 13:49:15 2021 +0100 fix issues --- extensions/http-curl/tests/CivetStream.h | 2 +- extensions/mqtt/processors/ConvertJSONAck.h | 2 +- extensions/mqtt/processors/PublishMQTT.h | 1 + extensions/opc/src/putopc.cpp | 1 + extensions/sql/processors/PutSQL.cpp | 1 + .../standard-processors/processors/ExecuteProcess.cpp | 1 + extensions/standard-processors/processors/ExtractText.cpp | 4 ++-- extensions/tensorflow/TFExtractTopLabels.cpp | 1 + libminifi/src/io/FileStream.cpp | 2 ++ libminifi/src/io/InputStream.cpp | 2 +- libminifi/src/io/tls/SecureDescriptorStream.cpp | 2 ++ libminifi/src/io/tls/TLSSocket.cpp | 8 +++++--- libminifi/src/sitetosite/RawSocketProtocol.cpp | 13 +++++-------- libminifi/test/rocksdb-tests/ContentSessionTests.cpp | 1 - libminifi/test/rocksdb-tests/DBContentRepositoryTests.cpp | 2 -- 15 files changed, 24 insertions(+), 19 deletions(-) diff --git a/extensions/http-curl/tests/CivetStream.h b/extensions/http-curl/tests/CivetStream.h index e333b54..9513125 100644 --- a/extensions/http-curl/tests/CivetStream.h +++ b/extensions/http-curl/tests/CivetStream.h @@ -54,7 +54,7 @@ class CivetStream : public io::InputStream { size_t read(uint8_t *buf, size_t buflen) override { const auto ret = mg_read(conn, buf, buflen); if (ret < 0) return static_cast<size_t>(-1); - return gsl::narrow_cast<size_t>(ret); + return gsl::narrow<size_t>(ret); } protected: diff --git a/extensions/mqtt/processors/ConvertJSONAck.h b/extensions/mqtt/processors/ConvertJSONAck.h index 659af59..6c9d3cd 100644 --- a/extensions/mqtt/processors/ConvertJSONAck.h +++ b/extensions/mqtt/processors/ConvertJSONAck.h @@ -80,7 +80,7 @@ class ConvertJSONAck : public ConvertBase { return 0; buffer_.resize(stream->size()); const auto ret = stream->read(reinterpret_cast<uint8_t*>(buffer_.data()), stream->size()); - return gsl::narrow<int64_t>(ret); + return !io::isError(ret) ? gsl::narrow<int64_t>(ret) : -1; } std::vector<char> buffer_; }; diff --git a/extensions/mqtt/processors/PublishMQTT.h b/extensions/mqtt/processors/PublishMQTT.h index ba14c0f..745246f 100644 --- a/extensions/mqtt/processors/PublishMQTT.h +++ b/extensions/mqtt/processors/PublishMQTT.h @@ -31,6 +31,7 @@ #include "core/logging/LoggerConfiguration.h" #include "MQTTClient.h" #include "AbstractMQTTProcessor.h" +#include "utils/gsl.h" namespace org { namespace apache { diff --git a/extensions/opc/src/putopc.cpp b/extensions/opc/src/putopc.cpp index daf0242..5ea3167 100644 --- a/extensions/opc/src/putopc.cpp +++ b/extensions/opc/src/putopc.cpp @@ -37,6 +37,7 @@ #include "core/logging/LoggerConfiguration.h" #include "utils/Id.h" #include "utils/StringUtils.h" +#include "utils/gsl.h" namespace org { namespace apache { diff --git a/extensions/sql/processors/PutSQL.cpp b/extensions/sql/processors/PutSQL.cpp index ee8b4ce..9b44c5b 100644 --- a/extensions/sql/processors/PutSQL.cpp +++ b/extensions/sql/processors/PutSQL.cpp @@ -33,6 +33,7 @@ #include "Exception.h" #include "data/DatabaseConnectors.h" #include "data/JSONSQLWriter.h" +#include "utils/gsl.h" namespace org { namespace apache { diff --git a/extensions/standard-processors/processors/ExecuteProcess.cpp b/extensions/standard-processors/processors/ExecuteProcess.cpp index cc9212d..732ef7d 100644 --- a/extensions/standard-processors/processors/ExecuteProcess.cpp +++ b/extensions/standard-processors/processors/ExecuteProcess.cpp @@ -27,6 +27,7 @@ #include "utils/StringUtils.h" #include "utils/TimeUtil.h" #include "core/TypedValues.h" +#include "utils/gsl.h" #if defined(__clang__) #pragma clang diagnostic push diff --git a/extensions/standard-processors/processors/ExtractText.cpp b/extensions/standard-processors/processors/ExtractText.cpp index 0e2a458..23e0fae 100644 --- a/extensions/standard-processors/processors/ExtractText.cpp +++ b/extensions/standard-processors/processors/ExtractText.cpp @@ -32,8 +32,8 @@ #include "core/ProcessContext.h" #include "core/ProcessSession.h" #include "core/FlowFile.h" - #include "utils/RegexUtils.h" +#include "utils/gsl.h" namespace org { namespace apache { @@ -164,7 +164,7 @@ int64_t ExtractText::ReadCallback::process(const std::shared_ptr<io::BaseStream> const size_t maxCaptureSize = [this] { uint64_t val; ctx_->getProperty(MaxCaptureGroupLen.getName(), val); - return size_t{val}; + return gsl::narrow<size_t>(val); }(); std::string contentStr = contentStream.str(); diff --git a/extensions/tensorflow/TFExtractTopLabels.cpp b/extensions/tensorflow/TFExtractTopLabels.cpp index b73a3e5..3156ba9 100644 --- a/extensions/tensorflow/TFExtractTopLabels.cpp +++ b/extensions/tensorflow/TFExtractTopLabels.cpp @@ -137,6 +137,7 @@ int64_t TFExtractTopLabels::LabelsReadCallback::process(const std::shared_ptr<io while (total_read < stream->size()) { const auto read = stream->read(reinterpret_cast<uint8_t *>(&buf[0]), buf_size); + if (io::isError(read)) break; for (size_t i = 0; i < read; i++) { if (buf[i] == '\n' || total_read + i == stream->size()) { labels_->emplace_back(label.substr(0, label_size)); diff --git a/libminifi/src/io/FileStream.cpp b/libminifi/src/io/FileStream.cpp index c88f8dd..32b3e1b 100644 --- a/libminifi/src/io/FileStream.cpp +++ b/libminifi/src/io/FileStream.cpp @@ -25,6 +25,8 @@ #include "io/FileStream.h" #include "io/InputStream.h" #include "io/OutputStream.h" +#include "utils/gsl.h" + namespace org { namespace apache { namespace nifi { diff --git a/libminifi/src/io/InputStream.cpp b/libminifi/src/io/InputStream.cpp index be0a273..2361451 100644 --- a/libminifi/src/io/InputStream.cpp +++ b/libminifi/src/io/InputStream.cpp @@ -53,7 +53,7 @@ size_t InputStream::read(bool &value) { size_t InputStream::read(utils::Identifier &value) { std::string uuidStr; const auto ret = read(uuidStr); - if (ret < 0) { + if (isError(ret)) { return ret; } auto optional_uuid = utils::Identifier::parse(uuidStr); diff --git a/libminifi/src/io/tls/SecureDescriptorStream.cpp b/libminifi/src/io/tls/SecureDescriptorStream.cpp index 5acf950..7aea5ab 100644 --- a/libminifi/src/io/tls/SecureDescriptorStream.cpp +++ b/libminifi/src/io/tls/SecureDescriptorStream.cpp @@ -23,6 +23,8 @@ #include <string> #include <Exception.h> #include "io/validation.h" +#include "utils/gsl.h" + namespace org { namespace apache { namespace nifi { diff --git a/libminifi/src/io/tls/TLSSocket.cpp b/libminifi/src/io/tls/TLSSocket.cpp index 49d07ec..4deb3f6 100644 --- a/libminifi/src/io/tls/TLSSocket.cpp +++ b/libminifi/src/io/tls/TLSSocket.cpp @@ -373,7 +373,8 @@ size_t TLSSocket::read(uint8_t *buf, size_t buflen, bool /*retrieve_all_bytes*/) } int sslStatus; do { - status = SSL_read(fd_ssl, buf + loc, gsl::narrow<int>(std::min(buflen, gsl::narrow<size_t>(std::numeric_limits<int>::max())))); + const auto ssl_read_size = gsl::narrow<int>(std::min(buflen, gsl::narrow<size_t>(std::numeric_limits<int>::max()))); + status = SSL_read(fd_ssl, buf + loc, ssl_read_size); sslStatus = SSL_get_error(fd_ssl, status); } while (status < 0 && sslStatus == SSL_ERROR_WANT_READ && SSL_pending(fd_ssl)); @@ -431,11 +432,12 @@ size_t TLSSocket::read(uint8_t *buf, size_t buflen) { int sslStatus; do { - auto fd_ssl = get_ssl(fd); + const auto fd_ssl = get_ssl(fd); if (IsNullOrEmpty(fd_ssl)) { return static_cast<size_t>(-1); } - status = SSL_read(fd_ssl, buf, gsl::narrow<int>(std::min(buflen, gsl::narrow<size_t>(std::numeric_limits<int>::max())))); + const auto ssl_read_size = gsl::narrow<int>(std::min(buflen, gsl::narrow<size_t>(std::numeric_limits<int>::max()))); + status = SSL_read(fd_ssl, buf, ssl_read_size); sslStatus = SSL_get_error(fd_ssl, status); } while (status < 0 && sslStatus == SSL_ERROR_WANT_READ); diff --git a/libminifi/src/sitetosite/RawSocketProtocol.cpp b/libminifi/src/sitetosite/RawSocketProtocol.cpp index 463a96f..b60b2f4 100644 --- a/libminifi/src/sitetosite/RawSocketProtocol.cpp +++ b/libminifi/src/sitetosite/RawSocketProtocol.cpp @@ -349,23 +349,21 @@ void RawSiteToSiteClient::tearDown() { bool RawSiteToSiteClient::getPeerList(std::vector<PeerStatus> &peers) { if (establish() && handShake()) { - int status = writeRequestType(REQUEST_PEER_LIST); - - if (status <= 0) { + if (writeRequestType(REQUEST_PEER_LIST) <= 0) { tearDown(); return false; } - uint32_t number; + uint32_t number_of_peers; { - const auto ret = peer_->read(number); + const auto ret = peer_->read(number_of_peers); if (ret == 0 || io::isError(ret)) { tearDown(); return false; } } - for (uint32_t i = 0; i < number; i++) { + for (uint32_t i = 0; i < number_of_peers; i++) { std::string host; { const auto ret = peer_->read(host); @@ -398,8 +396,7 @@ bool RawSiteToSiteClient::getPeerList(std::vector<PeerStatus> &peers) { return false; } } - PeerStatus peer_status(std::make_shared<Peer>(port_id_, host, gsl::narrow<uint16_t>(port), secure != 0), count, true); - peers.push_back(std::move(peer_status)); + peers.push_back(PeerStatus{std::make_shared<Peer>(port_id_, host, gsl::narrow<uint16_t>(port), secure != 0), count, true}); logging::LOG_TRACE(logger_) << "Site2Site Peer host " << host << " port " << port << " Secure " << std::to_string(secure); } diff --git a/libminifi/test/rocksdb-tests/ContentSessionTests.cpp b/libminifi/test/rocksdb-tests/ContentSessionTests.cpp index 77b7c73..f63947b 100644 --- a/libminifi/test/rocksdb-tests/ContentSessionTests.cpp +++ b/libminifi/test/rocksdb-tests/ContentSessionTests.cpp @@ -57,7 +57,6 @@ const std::shared_ptr<minifi::io::BaseStream>& operator>>(const std::shared_ptr< uint8_t buffer[4096]{}; while (true) { const auto ret = stream->read(buffer, sizeof(buffer)); - REQUIRE(ret >= 0); REQUIRE(!minifi::io::isError(ret)); if (ret == 0) { break; } str += std::string{reinterpret_cast<char*>(buffer), ret}; diff --git a/libminifi/test/rocksdb-tests/DBContentRepositoryTests.cpp b/libminifi/test/rocksdb-tests/DBContentRepositoryTests.cpp index 38b7690..712d9f8 100644 --- a/libminifi/test/rocksdb-tests/DBContentRepositoryTests.cpp +++ b/libminifi/test/rocksdb-tests/DBContentRepositoryTests.cpp @@ -179,7 +179,6 @@ TEST_CASE("Delete NonExistent Claim", "[TestDBCR4]") { std::string readstr; - // error tells us we have an invalid stream read_stream->read(readstr); REQUIRE(readstr == "well hello there"); @@ -227,7 +226,6 @@ TEST_CASE("Delete Remove Count Claim", "[TestDBCR5]") { std::string readstr; - // error tells us we have an invalid stream read_stream->read(readstr); REQUIRE(readstr == "well hello there");
