Browse Source

Fix unsafe type narrowing

Appending the warning below:
qBittorrent\src\base/utils/version.h(176): warning C4267: 'argument': conversion from 'size_t' to 'int', possible loss of data
qBittorrent\src\base/utils/version.h(185): note: see reference to function template instantiation 'std::array<T,2> Utils::Version<T,2,2>::parseList<StringsList>(const StringsList &)' being compiled
        with
        [
            T=unsigned short,
            StringsList=QList<QByteArray>
        ]
adaptive-webui-19844
Chocobo1 6 years ago
parent
commit
41773a5465
No known key found for this signature in database
GPG Key ID: 210D9C873253A68C
  1. 4
      src/base/utils/version.h

4
src/base/utils/version.h

@ -168,12 +168,12 @@ namespace Utils
{ {
if ((static_cast<std::size_t>(versionParts.size()) > N) if ((static_cast<std::size_t>(versionParts.size()) > N)
|| (static_cast<std::size_t>(versionParts.size()) < Mandatory)) || (static_cast<std::size_t>(versionParts.size()) < Mandatory))
throw std::runtime_error ("Incorrect number of version components"); throw std::runtime_error("Incorrect number of version components");
bool ok = false; bool ok = false;
ComponentsArray res {{}}; ComponentsArray res {{}};
for (std::size_t i = 0; i < static_cast<std::size_t>(versionParts.size()); ++i) { for (std::size_t i = 0; i < static_cast<std::size_t>(versionParts.size()); ++i) {
res[i] = static_cast<T>(versionParts[i].toInt(&ok)); res[i] = static_cast<T>(versionParts[static_cast<typename StringsList::size_type>(i)].toInt(&ok));
if (!ok) if (!ok)
throw std::runtime_error("Can not parse version component"); throw std::runtime_error("Can not parse version component");
} }

Loading…
Cancel
Save