From: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com> Date: Sun, 8 Sep 2019 00:20:24 +0000 (+0200) Subject: Renamed conversion function to make intention more clear. Also defaulted to 'controll... X-Git-Tag: archive/raspbian/3.16.7-1_deb13u1+rpi1~1^2~222^2^2~650^2~30 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=46e0a05078abbe8bba6db3579d44353a6a8139af;p=nextcloud-desktop.git Renamed conversion function to make intention more clear. Also defaulted to 'controlled truncation' to not stupidly crash. TBD/TODO: Better handling for such things. Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com> --- diff --git a/src/common/ownsql.cpp b/src/common/ownsql.cpp index a0669579a..b82808d86 100644 --- a/src/common/ownsql.cpp +++ b/src/common/ownsql.cpp @@ -282,7 +282,7 @@ int SqlQuery::prepare(const QByteArray &sql, bool allow_failure) static bool startsWithInsensitive(const QByteArray &a, const char *b) { size_t len = strlen(b); - return a.size() >= len && qstrnicmp(a.constData(), b, Utility::convert(len)) == 0; + return a.size() >= len && qstrnicmp(a.constData(), b, Utility::convertSizeToUint(len)) == 0; } bool SqlQuery::isSelect() diff --git a/src/common/utility.cpp b/src/common/utility.cpp index 6c394f145..d8236a916 100644 --- a/src/common/utility.cpp +++ b/src/common/utility.cpp @@ -398,10 +398,11 @@ void Utility::crash() // Use this function to retrieve uint (often required by Qt and WIN32) from size_t // without compiler warnings about possible truncation -uint Utility::convert(size_t &convertVar) +uint Utility::convertSizeToUint(size_t &convertVar) { if( convertVar > UINT_MAX ) { - throw std::bad_cast(); + //throw std::bad_cast(); + convertVar = UINT_MAX; // intentionally default to wrong value here to not crash: exception handling TBD } return static_cast(convertVar); } diff --git a/src/common/utility.h b/src/common/utility.h index 384225391..1a85ef9a9 100644 --- a/src/common/utility.h +++ b/src/common/utility.h @@ -55,7 +55,7 @@ namespace Utility { OCSYNC_EXPORT QByteArray userAgentString(); OCSYNC_EXPORT bool hasLaunchOnStartup(const QString &appName); OCSYNC_EXPORT void setLaunchOnStartup(const QString &appName, const QString &guiName, bool launch); - OCSYNC_EXPORT uint convert(size_t &convertVar); + OCSYNC_EXPORT uint convertSizeToUint(size_t &convertVar); /** * Return the amount of free space available. diff --git a/src/csync/csync_exclude.cpp b/src/csync/csync_exclude.cpp index 9a4f196ed..5f55d282a 100644 --- a/src/csync/csync_exclude.cpp +++ b/src/csync/csync_exclude.cpp @@ -73,7 +73,7 @@ static void csync_exclude_expand_escapes(QByteArray &input) line[o++] = line[i]; } } - input.resize(o); + input.resize(Utility::convertSizeToUint(o)); } // See http://support.microsoft.com/kb/74496 and