diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 6881cb65..adc36d13 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -42,7 +42,7 @@ Fedora_MinGW: - dnf -y upgrade - dnf -y install mingw64-gcc-c++ mingw64-filesystem mingw64-expat mingw64-zlib cmake make script: - - python3 ci/test_build.py --without-tests --cmake-executable "mingw64-cmake" --cmake-options "-DEXIV2_TEAM_EXTRA_WARNINGS=ON -DEXIV2_ENABLE_VIDEO=ON -DEXIV2_ENABLE_WEBREADY=ON -DEXIV2_ENABLE_WIN_UNICODE=ON " --compilers --shared-libs OFF + - python3 ci/test_build.py --without-tests --cmake-executable "mingw64-cmake" --cmake-options "-DEXIV2_TEAM_EXTRA_WARNINGS=OFF -DEXIV2_TEAM_WARNINGS_AS_ERRORS=OFF -DEXIV2_ENABLE_WEBREADY=ON -DEXIV2_ENABLE_WIN_UNICODE=ON " --compilers --shared-libs OFF Debian: image: debian:9 diff --git a/.travis.yml b/.travis.yml index 974dec10..0fc522b7 100644 --- a/.travis.yml +++ b/.travis.yml @@ -76,14 +76,14 @@ matrix: - BUILD_TYPE="Release" - WITH_VALGRIND=1 - #- name: "Ubuntu 20.04 - gcc-9.3 (Release+Sanitizers)" - # os: linux - # dist: focal - # sudo: required - # compiler: gcc - # env: - # - BUILD_TYPE="Release" - # - WITH_SANITIZERS=1 + - name: "Ubuntu 20.04 - gcc-9.3 (Release+Sanitizers)" + os: linux + dist: focal + sudo: required + compiler: gcc + env: + - BUILD_TYPE="Release" + - WITH_SANITIZERS=1 - name: "macOS 10.14 - XCode 11.3 (Release)" os: osx diff --git a/appveyor_mingw_cygwin.yml b/appveyor_mingw_cygwin.yml index 31f054d4..5fce258b 100644 --- a/appveyor_mingw_cygwin.yml +++ b/appveyor_mingw_cygwin.yml @@ -11,14 +11,14 @@ environment: ARCHITECTURE: x86_64 UNIT_TESTS: 1 WEBREADY: False - WARNINGS_AS_ERRORS: ON + WARNINGS_AS_ERRORS: OFF - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019 BUILD: CYGWIN64 INTEGRATION_TESTS: 1 ARCHITECTURE: x86_64 UNIT_TESTS: 1 WEBREADY: False - WARNINGS_AS_ERRORS: ON + WARNINGS_AS_ERRORS: OFF shallow_clone: true @@ -39,7 +39,7 @@ install: build_script: - cmd: set CMD=mkdir -p build - cmd: set CMD=%CMD%; cd build - - cmd: set CMD=%CMD%; cmake .. -G 'Unix Makefiles' -DCMAKE_CXX_STANDARD=98 -DCMAKE_CXX_FLAGS=-Wno-deprecated + - cmd: set CMD=%CMD%; cmake .. -G 'Unix Makefiles' - cmd: set CMD=%CMD%; cmake --build . --config Release - cmd: rem echo %CMD% - cd %APPVEYOR_BUILD_FOLDER% @@ -47,7 +47,7 @@ build_script: - cmd: set CMD=which python3 python - cmd: set CMD=%CMD%; python --version - cmd: set CMD=%CMD%; build/bin/exiv2 --verbose --version; pwd ; ls -l - - cmd: set CMD=%CMD%; cd build ; cmake --build . --config Release --target python_tests + - cmd: set CMD=%CMD%; cd build ; cmake --build . --config Release --target python_tests - cmd: echo %CMD% - cd %APPVEYOR_BUILD_FOLDER% - cmd: if "%BUILD%"=="MINGW64" C:\msys64\usr\bin\bash -c "%CMD%" @@ -55,7 +55,7 @@ build_script: - cmd: set CMD=rm -rf build - cmd: set CMD=%CMD%; mkdir -p build - cmd: set CMD=%CMD%; cd build - - cmd: set CMD=%CMD%;cmake .. -DCMAKE_CXX_STANDARD=98 -DCMAKE_CXX_FLAGS=-Wno-deprecated + - cmd: set CMD=%CMD%;cmake .. - cmd: set CMD=%CMD%; make - cmd: set CMD=%CMD%; make python_tests - cmd: echo %CMD% diff --git a/src/jp2image.cpp b/src/jp2image.cpp index fafc6b1d..b6e5e161 100644 --- a/src/jp2image.cpp +++ b/src/jp2image.cpp @@ -658,7 +658,7 @@ static void boxes_check(size_t b,size_t m) Jp2BoxHeader* pSubBox = (Jp2BoxHeader*) (p+count) ; // copy data. pointer could be into a memory mapped file which we will decode! - Jp2BoxHeader subBox = *pSubBox ; + Jp2BoxHeader subBox ; memcpy(&subBox,pSubBox,sizeof(subBox)); Jp2BoxHeader newBox = subBox; if ( count < length ) { diff --git a/src/tiffvisitor_int.cpp b/src/tiffvisitor_int.cpp index 67072235..7156fdf0 100644 --- a/src/tiffvisitor_int.cpp +++ b/src/tiffvisitor_int.cpp @@ -979,10 +979,12 @@ namespace Exiv2 { std::cerr << "Writing data area for " << key << "\n"; #endif DataBuf buf = object->pValue()->dataArea(); - memcpy(object->pDataArea_, buf.pData_, buf.size_); - if (object->sizeDataArea_ > static_cast(buf.size_)) { - memset(object->pDataArea_ + buf.size_, + if ( buf.pData_ ) { + memcpy(object->pDataArea_, buf.pData_, buf.size_); + if (object->sizeDataArea_ > static_cast(buf.size_)) { + memset(object->pDataArea_ + buf.size_, 0x0, object->sizeDataArea_ - buf.size_); + } } } }