Mercurial > hg > orthanc-dicomweb
changeset 764:25d0de65d2a8
sync
| author | Alain Mazy <am@orthanc.team> |
|---|---|
| date | Wed, 17 Jun 2026 10:42:25 +0200 |
| parents | 8b3ca3c04521 |
| children | 3d266adce4b9 |
| files | Resources/Orthanc/CMake/DownloadPackage.cmake Resources/Orthanc/Plugins/OrthancPluginCppWrapper.cpp |
| diffstat | 2 files changed, 15 insertions(+), 7 deletions(-) [+] |
line wrap: on
line diff
--- a/Resources/Orthanc/CMake/DownloadPackage.cmake Wed Jun 03 17:05:59 2026 +0200 +++ b/Resources/Orthanc/CMake/DownloadPackage.cmake Wed Jun 17 10:42:25 2026 +0200 @@ -92,7 +92,7 @@ set(TMP_PATH "${CMAKE_SOURCE_DIR}/ThirdPartyDownloads/${TMP_FILENAME}") if (NOT EXISTS "${TMP_PATH}") - message("Downloading ${Url}") + message("Downloading ${Url} since the file was not found in ${TMP_PATH}") # This fixes issue 6: "I think cmake shouldn't download the # packages which are not in the system, it should stop and let
--- a/Resources/Orthanc/Plugins/OrthancPluginCppWrapper.cpp Wed Jun 03 17:05:59 2026 +0200 +++ b/Resources/Orthanc/Plugins/OrthancPluginCppWrapper.cpp Wed Jun 17 10:42:25 2026 +0200 @@ -28,7 +28,7 @@ #include <boost/move/unique_ptr.hpp> #include <boost/thread.hpp> #include <boost/algorithm/string/join.hpp> - +#include <limits> #include <json/reader.h> #include <json/version.h> @@ -227,7 +227,7 @@ { Clear(); } - catch (ORTHANC_PLUGINS_EXCEPTION_CLASS&) + catch (ORTHANC_PLUGINS_EXCEPTION_CLASS&) // NOLINT(bugprone-empty-catch) { // Don't throw exceptions in destructors } @@ -264,7 +264,7 @@ } else { - if (size > 0) + if (buffer != NULL && size > 0) { memcpy(buffer_.data, buffer, size); } @@ -675,7 +675,7 @@ { Clear(); } - catch (ORTHANC_PLUGINS_EXCEPTION_CLASS&) + catch (ORTHANC_PLUGINS_EXCEPTION_CLASS&) // NOLINT(bugprone-empty-catch) { // Don't throw exceptions in destructors } @@ -977,7 +977,15 @@ return true; case Json::uintValue: - target = configuration_[key].asUInt(); + if (configuration_[key].asUInt() > static_cast<unsigned int>(std::numeric_limits<int>::max())) + { + ORTHANC_PLUGINS_LOG_ERROR("The configuration option \"" + GetPath(key) + + "\" is too large to fit in an integer"); + + ORTHANC_PLUGINS_THROW_EXCEPTION(BadFileFormat); + } + + target = static_cast<int>(configuration_[key].asUInt()); return true; default: @@ -1338,7 +1346,7 @@ { Clear(); } - catch (ORTHANC_PLUGINS_EXCEPTION_CLASS&) + catch (ORTHANC_PLUGINS_EXCEPTION_CLASS&) // NOLINT(bugprone-empty-catch) { // Don't throw exceptions in destructors }
