Robin Mills
d73dd0874d
Fix icc_test which is failing on Linux:
...
luis@ryzenLinux:/media/linuxDev/programming/exiv2/buildReleaseSanitizers$ cp large.icc Reagan2.icc
luis@ryzenLinux:/media/linuxDev/programming/exiv2/buildReleaseSanitizers$ bin/exiv2 -iC /tmp/Reagan2.jp2
/media/linuxDev/programming/exiv2/src/jp2image.cpp:661:28: runtime error: reference binding to misaligned address 0x61f000002a9e for type 'const struct Jp2BoxHeader', which requires 4 byte alignment
0x61f000002a9e: note: pointer points here
07 07 01 00 00 00 0c 53 63 6f 6c 72 02 00 00 00 00 0c 48 4c 69 6e 6f 02 10 00 00 6d 6e 74 72 52
4 years ago
Luis Díaz Más
b5d3a1fd70
auto_ptr -> unique_ptr for code with WIN_UNICODE enabled
4 years ago
Luis Díaz Más
2de3bad869
Remove EXIV2_ENABLE_VIDEO and related stuff
4 years ago
Luis Díaz Más
3eb1eee7fe
Remove deprecated RiffVideo support
4 years ago
Luis Díaz Más
061ec1a75d
Remove deprecated QuickTime support
4 years ago
Luis Díaz Más
8dcc07887a
Remove deprecated Matroska support
4 years ago
Luis Díaz Más
94b87a8dec
Remove deprecated SSH support
4 years ago
Luis Díaz Más
384a5edfcf
Remove deprecated ASF Video
4 years ago
Miloš Komarčević
3ddef8f8b8
Correct GDS distance unit in description
...
knot is a measure of speed...
4 years ago
Miloš Komarčević
94adf1b038
Improve precision of GPS lat/lon printed values
4 years ago
Miloš Komarčević
3f3bbc28ad
Improve printing of GPS info
4 years ago
Robin Mills
206a2c495c
fix_enableBMFF_v1
4 years ago
Miloš Komarčević
f700043a6d
Add Exif Gamma tag
4 years ago
Luis Díaz Más
ede33f5eba
Initialization of variables (fix issue detected with sanitizers)
4 years ago
Luis Díaz Más
5fcea2b4e2
Use stack variables instead of java style
4 years ago
Luis Díaz Más
0bbaa6eff3
cpp: Replace auto_ptr by unique_ptr
4 years ago
Luis Díaz Más
537cdad99e
Remove deprecated EPS format
4 years ago
Robin Mills
9e6a520089
Merge pull request #1539 from Exiv2/FixIssue1530
...
Fix integer overflow
4 years ago
Kevin Backhouse
9b7a19f957
Fix integer overflow.
4 years ago
Kevin Backhouse
0a91b56616
Fix incorrect delete.
4 years ago
Pydera
13e5a3e023
Fix out of buffer access in #1529
4 years ago
Robin Mills
22ea582c6b
fix_1522_jp2image_exif_asan
4 years ago
Robin Mills
aef9cf76f7
fix_1503_JXL_bmff
4 years ago
Robin Mills
49cfe45323
Merge pull request #1513 from Exiv2/fix_1508_enableBMFF
...
Fix 1508 enable bmff
4 years ago
Robin Mills
9da2aed5d2
Use the documented 5 line prolog in every sample application. Tidy up sample prologs and header code.
4 years ago
Robin Mills
190106ca78
fix_1507_avif_size0x0
4 years ago
Robin Mills
d632988bbd
Massive code prolog cleanup.
4 years ago
Robin Mills
99600c6aaf
exiv2 --verbose --version was reporting have_strerror_r twice!
4 years ago
Robin Mills
6fad24cd11
Merge pull request #1491 from Exiv2/fix_1486_effort2
...
fix_1486_effort2
4 years ago
Robin Mills
717fc098be
fix_1486_effort2 https://github.com/Exiv2/exiv2/pull/1486#discussion_r593161473
4 years ago
Miloš Komarčević
f95d97a0bf
Add mif1 brand to heif mime type
4 years ago
Miloš Komarčević
fcb3066950
Include a few more BMFF major brands
4 years ago
Miloš Komarčević
b3dfabdde0
Merge pull request #1486 from Exiv2/fix_1484_empty_ascii
...
Terminate empty ASCII strings
4 years ago
clanmills
ba6a577ab9
https://github.com/Exiv2/exiv2/pull/1486#issuecomment-796843835
4 years ago
Robin Mills
09567b477b
Merge pull request #1487 from kmilos/housekeep_bmff
...
Include HEIC type explicitly
4 years ago
Miloš Komarčević
fa41e52c8a
Add comment and test case
4 years ago
clanmills
bf1be5cb50
fix_1473_LocationShown
4 years ago
Miloš Komarčević
e3c78623f7
Include HEIC type explicitly
4 years ago
Miloš Komarčević
26ba26e241
Terminate empty ASCII strings as well
4 years ago
Robin Mills
9e2ac47cf9
Merge pull request #1475 from 1div0/BMFF
...
Base Media File Format
4 years ago
Robin Mills
02477faf4e
Following review by @hassec, I use static base64_encoding vector in both Exiv2::base64encode() and Exiv2::base64decode().
...
I'm a little uneasy about changes to the API of the shared object/DLL. I will investigate #890 during the release process. So I have a plan to identify this if it's an issue. I think it's OK.
```
703 rmills@rmillsmm-local:~/gnu/github/exiv2/bmff/build $ nm --demangle lib/libexiv2.dylib | grep base64
00000000000384a0 T Exiv2::base64decode(char const*, char*, unsigned long)
0000000000038340 T Exiv2::base64encode(void const*, unsigned long, char*, unsigned long)
00000000001c33a0 s Exiv2::base64_encode
704 rmills@rmillsmm-local:~/gnu/github/exiv2/bmff/build $ nm -g --demangle lib/libexiv2.dylib | grep base64
00000000000384a0 T Exiv2::base64decode(char const*, char*, unsigned long)
0000000000038340 T Exiv2::base64encode(void const*, unsigned long, char*, unsigned long)
705 rmills@rmillsmm-local:~/gnu/github/exiv2/bmff/build $
```
4 years ago
clanmills
212f1b5ebb
Following review by @piponazo, I am clarifying the bool return from Exiv2::enableBMFF().
4 years ago
clanmills
e3fd0c633e
Thank You @piponazo for the code review. I've made the changes you requested.
4 years ago
postscript-dev
5f563b5255
Fix spelling mistakes in LangAltValue::read()
...
Removed unneeded comments and empty space.
4 years ago
Miloš Komarčević
0da1a50afe
Revert style changes
4 years ago
clanmills
4c52861a74
Fix msvc build breaker.
4 years ago
Miloš Komarčević
e09d093ccf
Minor whitespace formatting
4 years ago
postscript-dev
282d1d6995
Add static to LangAltValue::read() const values
4 years ago
clanmills
f1303cbcda
Another effort to fix base64decode and associated unit test.
4 years ago
clanmills
87e536dadf
Fix #1358 . This should be in a different PR. Keep changes to base64 encode/decode together.
4 years ago
clanmills
db9bec3e01
Restore -pC --binary to output everything. Test suite updated to suit.
4 years ago
clanmills
21c610e952
Restoring i < dataLength trigraph that I should not have removed.
4 years ago
clanmills
2f2dd7d56c
Fix ICC profile handling (my bad, iOS files are correct).
4 years ago
clanmills
c59c53acf5
Trick to avoid msvc issue with final line of base64 data.
4 years ago
clanmills
1eeeecea50
Replaced Exiv2::base64encode() because last effort failed unit test on msvc.
4 years ago
postscript-dev
6cd9263fa7
Fix langAltValue::read() parsing
...
+ Fix segmentation faults in langAlt parse
+ Fix mismatched quotation marks and incorrect values
+ Add Python testing
+ Some tests commented out as quotation marks are filtered, preventing them
from running.
Closes #1481 .
4 years ago
clanmills
80e20304cb
Fix Linux build breakers.
4 years ago
clanmills
5410395576
Replaced the ugly code in Exiv2::base64encode() and update the test suite.
4 years ago
clanmills
0ad46453ed
With good fortune, bmffimage is ready for review.
4 years ago
clanmills
ee4d14340a
Fix box.length == to use bigEndian decode! Fix toAscii() to emit on ascii 32-127 bytes.
4 years ago
clanmills
df68648dc3
refactored setModeAndPrintStructure() to respect class Task.binary_ when printing ICC profiles.
4 years ago
clanmills
b983a9db75
Re-awaken obsolete command-line argument --binary and store class Task.
4 years ago
Robin Mills
71d29fe60b
Fix MSVC build breaker and modify test_pr_1475_HIF.py to run on Windows.
4 years ago
clanmills
55d2201892
Changed CI build default -DEXIV2_ENABLE_BMFF=On. Fixed suite to run with/without bmff. -pS and -pR same for bmff.
4 years ago
Robin Mills
c84274ec19
Cosmetic change to -pR/-pS output.
4 years ago
Robin Mills
fd9cb67fb7
WIP: adding BmffImage::printStructure() and support for colr box.
4 years ago
Miloš Komarčević
2b38d221dc
Adding DNG 1.6 triple-illuminant calibration tags
4 years ago
Robin Mills
4ca05ed34a
Fix .CR3 files to call parseXmp().
4 years ago
Robin Mills
ea1c91874f
Added parseXmp() to parse Xmp metadata.
4 years ago
Robin Mills
44d976c2a1
Remove bmffimage::printStructure() as discussed in review with @hassec. Corpse removal and cleanup in bmpfimage.hpp
4 years ago
Peter Kovář
dcfe538a09
Revert "Add artist tag"
...
This reverts commit c46e800c0a
.
4 years ago
Peter Kovář
c46e800c0a
Add artist tag
4 years ago
Robin Mills
5c77888037
Revised following code review by @hassec. Thank You, Christoph.
4 years ago
Peter Kovář
4d3af08ad8
Add CR3 image dimensions
4 years ago
Robin Mills
4ae0a1d2a3
Tidy up. Rename Tag::cr3_exif -> Tag:cmt2
4 years ago
Robin Mills
9515e4658b
Cleanup. 1. Recursively process uuid/cano box. 2. Fix LGTM/CI sprintf grumbles. 3. Comment parseTiff() in bmffimage.hpp.
4 years ago
Robin Mills
913ee33372
Parse Exif in .HEIC/.AVIF
4 years ago
Peter Kovář
108670b309
Corrected format string
4 years ago
Christoph Hasse
28b41f59bd
run clang-format on new files
4 years ago
Christoph Hasse
29f3d5cac9
introduce parseTiff method to parse exif
4 years ago
Robin Mills
f190f496d1
Tidying up. 1. pixelHeight_. 2. refactored indenter() -> indent(). 3. EXIV2_DEBUG_MESSAGES outputs to std::cerr
4 years ago
Robin Mills
4a96025294
Fixed recursion issue in the meta box.
4 years ago
Peter Kovář
bafea0f1b8
[WIP] Fixed Image Spatial Extents Property Handling
4 years ago
Robin Mills
8d7133d7bc
WIP: Added class Iloc and related code.
4 years ago
Robin Mills
8976a23f2d
More fixes for LGTM/CI warnings.
4 years ago
Robin Mills
64866cc568
Fixing warnings from LGTM/CI.
4 years ago
Robin Mills
0b4b7c695e
Fix msvc/CI build breakers.
4 years ago
Robin Mills
630fb23046
Fixing a build breaker.
4 years ago
Robin Mills
6d13e44e5a
WIP: Refactored readMetadata() into recursive boxHandler()
4 years ago
Peter Kovář
0360a7ded5
[WIP] Yet another type cast correction to make Travis CI happy
4 years ago
Peter Kovář
a75ac74417
[WIP] Correction to make Travis CI happy
4 years ago
Peter Kovář
04481dd753
[WIP] 64-bit length
4 years ago
Robin Mills
d455f473e8
C++ simplification.
4 years ago
Robin Mills
7beb4e3e0d
fix_1471_sony2010_0.27
4 years ago
Peter Kovář
4fa0a88097
[WIP] Correction
...
https://ci.appveyor.com/project/piponazo/exiv2-wutfp/builds/37795261/job/23l6a0u0wt6ax79l
4 years ago
Peter Kovář
81e0f99254
[WIP] Another try
4 years ago
Peter Kovář
7b5854e26e
[WIP] Redefine tags
4 years ago
Peter Kovář
f0a321dedb
[WIP] Base Media File Format
4 years ago
Robin Mills
c40eccd062
fix_1464_sony2010e Fix c++ code
4 years ago
Peter Kovář
c608148820
[WIP] Added box types
4 years ago
Ingo Weyrich
a6a47346a8
Use a.rfind(b, 0) == 0 instead of a.find(b) == 0 to reduce processing time when checking that a starts wit b, #1459
4 years ago
Peter Kovář
e19fca6640
Small corrections
4 years ago
Robin Mills
f5c6e7595f
Fix Linux build-breaker when ENABLE_ISOBMFF=False and EXIV2_TEAM_WARNINGS_AS_ERRORS=On
4 years ago
Robin Mills
fa39234275
Fixing Linux build/test issues.
4 years ago
Robin Mills
0844e1bbfb
Rename class ISOBMFF => class bmffImage to match other image handlers. Removed C++11 style code. Removed unused code.
4 years ago
Robin Mills
460a802671
Fix image handler to give jp2image code higher priority than the next isobmff code.
4 years ago
Peter Kovář
92469f4c27
[WIP] Add ISO/IEC Base Media File Format
4 years ago
czgnp
ddd326fc18
Update canonmn_int.cpp
...
Added Sigma 35mm/1.4 to lens id 368 and changed resolver to look at both focal length and aperture. Fixed canonEv so lenses with f/6.3 report as f/6.3 (they actually report f/6.2 to camera)
4 years ago
Christoph Hasse
056359d89b
fix formatting
4 years ago
Christoph Hasse
93869e1311
use EXV_PRINT_TAG macro instead of specific print function
4 years ago
Christoph Hasse
51bd57e387
add shutter mode and mechanical shutter count to nikon makernote 3
4 years ago
Alex Esseling
cf9be2cc3b
fixing exceptions and reordering tags
5 years ago
Alex Esseling
ff2ffb1909
add_cr3_tags
5 years ago
Miloš Komarčević
19decc1193
Merge pull request #1436 from Exiv2/dng_1.6
...
Add DNG 1.6 support
5 years ago
Christoph Hasse
4c2ac99673
try and fix ci-build 3/N
5 years ago
Christoph Hasse
f740fcd823
try and fix ci-build 2/N
5 years ago
Christoph Hasse
814357a6d1
try and fix ci-build
5 years ago
Christoph Hasse
2909e9cacc
Implement handling of new Nikon LensData version 8.0 and 8.01
5 years ago
Miloš Komarčević
240179514c
Add DNG 1.6 support
5 years ago
Robin Mills
9b5108583b
Revert "Revert "fix_1431_binary_comment.""
...
This reverts commit 2866415322
.
5 years ago
Robin Mills
c6167258ce
Revert "Restored 0.27.2 "toString()" behaviour of Exifdatum.value().toString() for CommentValue."
...
This reverts commit ecae9dc6eb
.
5 years ago
Robin Mills
2866415322
Revert "fix_1431_binary_comment."
...
This reverts commit b6bf20a897
.
5 years ago
Robin Mills
af8699a8ac
Revert "Fixing test suite."
...
This reverts commit 23f39b60f7
.
5 years ago
Robin Mills
23f39b60f7
Fixing test suite.
5 years ago
Robin Mills
ecae9dc6eb
Restored 0.27.2 "toString()" behaviour of Exifdatum.value().toString() for CommentValue.
5 years ago
Robin Mills
b6bf20a897
fix_1431_binary_comment.
5 years ago
Miloš Komarčević
01a146e014
Merge pull request #1427 from Exiv2/prettyprint_planarconfig
...
Pretty print PlanarConfig
5 years ago
Miloš Komarčević
5e7a563407
Pretty print PlanarConfig
5 years ago
Miloš Komarčević
85e3a31242
Promote remaining SHORT/LONG tags default type
5 years ago
Robin Mills
866d213983
Merge pull request #1409 from Exiv2/fix_1402_rafimage_0.27
...
fix_1402_rafimage_0.27
5 years ago
Robin Mills
2466c78fe6
Calming Test Suite concerning Continuous and CropMode confusion.
5 years ago
Robin Mills
a71eb24956
Pointless change to trigger CI to build again.
5 years ago
Robin Mills
e032586d74
Code/comment tidy.
5 years ago
Robin Mills
9b877f8506
Success. It's working!
5 years ago
Miloš Komarčević
0b5ba68e54
Merge pull request #1412 from Exiv2/dng15_0.27
...
Add DNG 1.5 tags and values
5 years ago
Robin Mills
c48189afa7
Add FujiIFD to TiffCreator::tiffGroupStruct_
5 years ago
Robin Mills
a8b549f7df
Remove debugging code.
5 years ago
Miloš Komarčević
4ab2eb3ec6
Add DNG 1.5 tags and values
5 years ago
Miloš Komarčević
13032f44f1
Fix Pana tag typo and improve Fuji tag description
5 years ago
Robin Mills
45119e3260
WIP: working to understand how to support tiffIfd in tiffvisitor_int.cpp
5 years ago
Miloš Komarčević
b410eb3550
Complete DNG 1.4 spec support
5 years ago
hanno@schwalm-bremen.de
a2f4082beb
Revert exv commit and remove empty line.
5 years ago
hanno@schwalm-bremen.de
abce0ac300
Fix typo and remove empty line.
5 years ago
hanno@schwalm-bremen.de
01a449544c
Adding support for DefaultUserCrop and BaselineExposureOffset
...
Nothing special, copied from dng 1.5 reference.
5 years ago
Robin Mills
76514a1654
WIP #1402 rafimage::printStructure() improved formatting.
5 years ago
Robin Mills
49fa54d7f2
Merge pull request #1407 from FreddieWitherden/0.27-maintenance
...
Add support for Fuji's CropMode tag.
5 years ago
Freddie Witherden
8f1f6fce1f
Add support for Fuji's CropMode tag.
5 years ago
Robin Mills
e045fd666a
Merge pull request #1389 from Exiv2/fix_929_exif2.31_0.27
...
fix_929_exif2.32_0.27
5 years ago
Robin Mills
5f9daf725b
Moved orphaned declaration of exifGPSDirRef.
5 years ago
Miloš Komarčević
c688ed448d
Moved ambient tags to Exif only list, other refactoring
...
Handle more TIFF/EP vs Exif differences
Moved translated values (GPS, Exif) closer to their respective lists
5 years ago
Robin Mills
829ed7da15
Clarified definition and use of enum SectionId @kmilos: please review/approve.
5 years ago
Robin Mills
4017f79c83
Merge pull request #1400 from Exiv2/fix_1393_iptc_tags_web_0.27
...
fix_1393_iptc_tags_web_0.27
5 years ago
Robin Mills
4c52891549
Fix tag GPSHPositioningError to use printValue() pretty-printer.
5 years ago
Robin Mills
a59a382961
I hope I've made a better job of this at this attempt. I don't thing the "section" enum is of much importance. I don't believe anything in particular is done with with it.
...
```cpp
/*!
@brief Section identifiers to logically group tags. A section consists
of nothing more than a name, based on the Exif standard.
*/
enum SectionId { sectionIdNotSet,
imgStruct, recOffset, imgCharacter, otherTags, exifFormat,
exifVersion, imgConfig, userInfo, relatedFile, dateTime,
captureCond, gpsTags, iopTags, mpfTags, makerTags, dngTags, panaRaw,
tiffEp, tiffPm6, adobeOpi,
lastSectionId };
```
I pleased with the documentation and drawing I have added to the book concerning the Exif Specification.
https://clanmills.com/exiv2/book/#Exif
5 years ago
Robin Mills
e887b6487f
fix_1393_iptc_tags_web_0.27
5 years ago
Freddie Witherden
ff0dc4b1df
Add support for Sony lens aberration correction parameters.
5 years ago
Miloš Komarčević
12f7002493
Minor DNG related changes after review
5 years ago
Miloš Komarčević
e92d5f2e61
Add remaining DNG 1.3 tag values
5 years ago
Miloš Komarčević
682927ee25
Also use existing light source pretty print for DNG
5 years ago
Miloš Komarčević
2113dfeb8a
Add DNG CFALayout values
5 years ago
Miloš Komarčević
04a9743a1c
Fix syntax error, improve value name style
5 years ago
Miloš Komarčević
a2a7ee2733
Add some DNG related tag values
5 years ago
clanmills
58ae0b0752
fix_929_exif2.31_0.27
5 years ago
Robin Mills
3e78cac3f4
Merge pull request #1384 from Exiv2/fix_1380_binary
...
Disable exiv2 option --binary (0.27->maintenance)
5 years ago
Miloš Komarčević
1038e62a42
actions: simplify print summary using easyaccess
5 years ago
Miloš Komarčević
f6abec4432
exiv2 pr uses easyaccess API (co-authored with clanmills)
5 years ago
Miloš Komarčević
5e92d5e078
Fix easyaccess-test
5 years ago
Miloš Komarčević
98f4effeea
Add DateTimeOriginal to easyaccess
5 years ago
Miloš Komarčević
189e0c9338
Add more easy accessors for Exif & TIFF/EP overlap
5 years ago
clanmills
bfee7abfc5
Disable exiv2 option --binary
5 years ago
Olli Lupton
eec8e8902f
Add LensType entry for Olympus M.Zuiko Digital ED 17mm F1.2 Pro lens.
5 years ago
Leonardo Brondani Schenkel
0f6fef7507
Make lens name consistent with models 150 and 368
5 years ago
Leonardo Brondani Schenkel
c4d18d02e7
Detect Sigma 18-35mm f/1.8 DC HSM (firmware 2.x)
...
On Canon bodies and lens firmware 1.x, this lens identifies itself using
model number 150. Starting with firmware 2.x, this lens now identifies
itself using model number 368.
Exiv2 was correctly identifying the former but not the latter.
This commit also fixes a pre-existing bug in which exiv2 was not
correctly disambiguating lenses using model number 368.
5 years ago
Luis Díaz Más
9eb058bd43
Modify strncpy0 to avoid warning
5 years ago
Luis Díaz Más
44debddf4e
Hide zlib absolute path in cmake config file
5 years ago
Luis Díaz Más
8dc42199e8
Hide exiv2-xmp dependency in CMake config file:
5 years ago
Luis Díaz Más
b9164d9f8b
Revert "change implementation of Exiv2::base64encode() to adopt implementation from same URL as base64decode()."
...
This reverts commit b596f311f4
.
5 years ago
clanmills
b596f311f4
change implementation of Exiv2::base64encode() to adopt implementation from same URL as base64decode().
5 years ago
clanmills
c7bcfcfbf8
replace base64encode in src/futils.cpp
5 years ago
Robin Mills
55bdaafebf
Merge pull request #1341 from Exiv2/fix_1278_nls_test_0.27
...
Fix 1278 nls test 0.27
5 years ago
Robin Mills
5240630849
fix_1353_mingw_toolchain_0.27
5 years ago
clanmills
2adde8dd73
Fix compiling http.cpp and reinstate centOS on gitLab.
5 years ago
Robin Mills
bc01aac114
Merge pull request #1351 from Exiv2/fix_1343_png_0.27
...
Fix 1343 png 0.27
5 years ago
clanmills
9fa6d3965a
C++ changes requested by @piponazo. Fix python png_test() recommended by @LeoHsiao1. Update reference output.
5 years ago
clanmills
834dca39d0
Code changes
5 years ago
Luis Díaz Más
778479556f
Include winsock2 at the beginning of http.cpp
5 years ago
Luis Díaz Más
30773c92a3
WIN32_LEAN_AND_MEAN propagated with exiv2lib target
5 years ago
Luis Díaz Más
b304244766
Move winsock2 inclusion to http.cpp
5 years ago
Robin Mills
604a268059
Second effort to unexpose winsock2.h from include <exiv2/exiv2.hpp> using EXIV2_BUILDING_EXIV2 mechanism.
5 years ago
clanmills
7ff0e0613a
fix_1335_winsock2_0.27
5 years ago
clanmills
e0e2a71a48
Fix: https://travis-ci.org/github/Exiv2/exiv2/jobs/730867927
5 years ago
clanmills
48afa7548d
fix_1329_remove_bigtiff_0.27
5 years ago
clanmills
37cc2db72d
fix 1307 ASAN issues with RemoteIo
5 years ago
Luis Díaz Más
f39b23806b
Assume existence of stdint.h
5 years ago
Luis Díaz Más
b7ee13eb63
Use ctime instead of time.h
5 years ago
Jan Tojnar
306c8a6fd4
cmake: Fix include_directories for exiv2lib target
...
The headers are installed to ${CMAKE_INSTALL_INCLUDEDIR} but the CMake config was hardcoded to include directory.
5 years ago
Jan Tojnar
48f2c9dbba
cmake: Fix paths with absolute GNUInstallDirs
...
It is not generally true that `CMAKE_INSTALL_<dir>` variables are relative paths:
https://github.com/jtojnar/cmake-snips#concatenating-paths-when-building-pkg-config-files
https://github.com/jtojnar/cmake-snips#assuming-cmake_install_dir-is-relative-path
Let's join them properly as paths, not strings.
On Windows, the absolute paths will likely remain unsupported as neither the CMake function,
nor the C++ code is able to detect absolute paths.
Signed-off-by: Jan Tojnar <jtojnar@gmail.com>
5 years ago
Robin Mills
963c91fe8a
fix_1266_GPSProcessingMethod
5 years ago
tbeu
f61fa2ed9d
Fix write ability flags of PSD files ( #1260 )
5 years ago
Robin Mills
22ed9b157b
Fixed typo declaration of pad when writing ICC profile.
5 years ago
Robin Mills
181dd47385
Fix correctly this time and tested with the user files. Test suite updated to use Reagan2.jp2
5 years ago
Robin Mills
b91de7acd0
fix_1236_0.27
5 years ago
Robin Mills
58fb9f850b
Merge pull request #1227 from Exiv2/v0.27.3_RC2
...
v0.27.3 rc2
5 years ago
clanmills
7383d96d47
Fix compiler error when using EXIV2_DEBUG_MESSAGES.
5 years ago
Robin Mills
08d1cd84c2
Don't compile localtime.c (hurray)
5 years ago
Robin Mills
6b4a9e5b40
fix_1219_remove_localtime_0.27
5 years ago
Robin Mills
7bf40a2408
fix_1211_c++11_0.27. I'll explain this in the PR.
5 years ago
clanmills
6d7a5266ea
fix_1219_mingw_crw_date_0.27
5 years ago
Robin Mills
3f1a6a509b
Merge pull request #1211 from Exiv2/cpp98_cygwin_0.27
...
http.cpp doesn't compile with C++/98 on Cygwin and MinGW/msys2.
5 years ago
clanmills
0215608071
http.cpp doesn't compile with C++/98 on Cygwin and MinGW/msys2.
5 years ago
clanmills
d07a1f94f8
fix_547_0.27
5 years ago
clanmills
e7d113dc42
fix_1208_NikonLens_0.27
5 years ago
clanmills
ea28be68e9
Fixing fedora/mingw build breaker. https://gitlab.com/D4N/exiv2/-/jobs/555626122 Thanks to @D4N for this discovery.
5 years ago
clanmills
5f6738a098
get http.cpp to call WSAStartup() on Cygwin and MinGW
5 years ago
clanmills
5b4743301e
The smart robot at codeCover/lgtm spotted typos in the code! Robot's almost as smart as Dan!
5 years ago
clanmills
c920f2ac44
CurlIo/http object to throw kerFileOpenFailed and not kerTiffDirectoryTooLarge
5 years ago
clanmills
f768fc0a42
RemoteIo/http object to throw kerFileOpenFailed and not kerTiffDirectoryTooLarge
5 years ago
clanmills
2bad338b9d
Fix compiler warning on macOS about enforce condition being always true.
5 years ago
clanmills
ec979d522a
Changes following review.
5 years ago
clanmills
5b07d9d8d6
Removed print0x9286() from tags.cpp. Codecov detected that this code is no longer used! Amazing.
...
Functionality now in exif.cpp std::ostream& Exifdatum::write(std::ostream& os, const ExifData* pMetadata) const.
5 years ago
clanmills
7515d85a09
Fix exiv2 option --binary to enable report of long binary values.
5 years ago
clanmills
9df691c0c5
Report Comments as charset=encoding data (not charset="encoding" data)
5 years ago
clanmills
cca0245d87
Fix compiler warning.
5 years ago
clanmills
43b06b6814
Don't allow binary into the output stream!
5 years ago
Robin Mills
a1abe21a71
Discussion: https://github.com/Exiv2/exiv2/issues/1200#issuecomment-623975537
5 years ago
Robin Mills
99aa8881a2
$ make version_test segfaults on FreeBSD when called from an ssh script.
5 years ago
Robin Mills
2e568e762b
Fix version= for Visual Studio 2019.
5 years ago
clanmills
0a06dc9ee4
Issue identified in #1101 master/MinGW/Qt. Apply the change here (although this is working on 0.27-maintenance)
5 years ago
clanmills
cd5c3e4ff9
Remove target_compile_features(exiv2 PRIVATE cxx_std_98) from src/exiv2
5 years ago
clanmills
63a13e8620
Adding option -DEXIV2_BUILD_USE_C++11
5 years ago
Robin Mills
df04671976
Enforce cxx_std_98 in samples, unit_tests, and exiv2 application (to eliminate 2305 GCC unique_ptr warnings)
5 years ago
Robin Mills
47d89a56bb
Merge pull request #1176 from Exiv2/0.27_cxx_standard
...
fix_1163 Require c++98 privately only in library target
5 years ago
clanmills
92f2458229
fix_1180_date_separator
5 years ago
Luis Diaz Mas
235087af4e
Do not call tell() in File::eof() - Fix tests & performance
5 years ago
Luis Diaz Mas
fabfcac274
Require c++98 privately only in the library target
5 years ago
clanmills
904fa19d1c
Code changes
5 years ago
clanmills
13565be3d2
Change for solaris.
5 years ago
clanmills
3226573376
fix_1004_0.27
5 years ago
Robin Mills
e077261c99
Merge branch '0.27-maintenance' into fix_1033_0.27
5 years ago
Robin Mills
817b2073a1
Merge branch '0.27-maintenance' into fix_1045_0.27
5 years ago
Robin Mills
2e19ee08c5
Merge branch '0.27-maintenance' into fix_1047_0.27
5 years ago
Robin Mills
181cab661b
Merge branch '0.27-maintenance' into fix_1091_0.27
5 years ago
Robin Mills
9cbcb8878c
Merge branch '0.27-maintenance' into fix_1069_0.27
5 years ago
clanmills
3ee25009ee
fix_1033_0.27
5 years ago
clanmills
cc1a6033db
fix_1045_0.27
5 years ago
Robin Mills
adf97f997d
Merge branch '0.27-maintenance' into fix_1091_0.27
5 years ago
clanmills
ef58603260
fix_1047_0.27
5 years ago
clanmills
c51573c92e
fix_1049_0.27
5 years ago
Robin Mills
3c01ad78f3
Merge branch '0.27-maintenance' into fix_1069_0.27
5 years ago
clanmills
571d056222
fix_1091_0.27
5 years ago
clanmills
9333f0d3f5
fix_1069_0.27 #1069
5 years ago
clanmills
d0d6ff2e9b
fix_1059_0.27
5 years ago
clanmills
c49cdd6395
Code changes.
5 years ago
clanmills
18ed65a25f
fix_Sony2010e_0.27 Thanks to @sridharb1
5 years ago
clanmills
a7683f95a7
Detab src/pentaxmn_int.cpp
5 years ago
Robin Mills
0fe6817177
Merge branch '0.27-maintenance' into fix_1084_0.27
5 years ago
clanmills
8f15784314
fix_1084_0.27
5 years ago
Robin Mills
8382225850
Merge branch '0.27-maintenance' into fix_1099_0.27
5 years ago
Robin Mills
2956309afd
Merge branch '0.27-maintenance' into fix_1099_0.27
5 years ago
clanmills
7658d8aefd
fix_macOS_0.27
5 years ago
clanmills
698b418f73
fix_1097_0.27
5 years ago
clanmills
82087b58e4
fix_1099_0.27
5 years ago
dbeichl
188ddab7cc
Merge branch '0.27-maintenance' into 0.27-maintenance-makernote-update
5 years ago
Daniel Beichl
3fe4460a23
Add various attributes for canon maker note
...
- Decode Attributes CameraType, AEB, SlowShutter, AutoISO,
CameraTemperature, FlashGuideNumber, BulbDuration and AutoRotate
- Small signedness fix to decode printFiFocusDistance to return Infinite
5 years ago
Daniel Beichl
529fa8770f
Add nikon 153 point phase af
5 years ago
Daniel Beichl
b45c82e091
Add some values to panasonic focus mode attribute
5 years ago
Robin Mills
cfdd1c7b3f
Pointless change to trigger CI which is beefing about test_issue_987 which has been removed.
5 years ago
Robin Mills
8de479f83e
Merge branch '0.27-maintenance' into fix1001_rename_AFPrimaryPoint
5 years ago
clanmills
db1be4ae8e
fix_1046_pt-GPSProcessingMethod
5 years ago
Fredrik Strandin
5360d82c4a
Add ID for Tokina atx-i 11-16mm F2.8 CF (Nikon)
...
Fixes #1078
(cherry picked from commit 2870a1648e86b777afa0ae1540ea4791482d1354)
6 years ago
Andreas Sturmlechner
0890d66a6e
EXIV2_ENABLE_SSH: Fix compatibility with >=libssh-0.9.2
...
0.9.1 remains broken regardless and is beyond fixing in this place.
Build-tested with both libssh 0.9.0 and 0.9.2.
Solution copied from KDE's kio-extras commit 24506c2af8d1904a99538543804306c6c2b81ca2
6 years ago
David-Tillmann Schaefer
b8bf9cc4fd
changes comma in aperture to dot to match the other exif entries
...
(cherry picked from commit 054bc9068b3c4e83be97e42d1a8c9829c2c83e1b)
6 years ago
derselbst
70b0c17421
Fix a memory leak in CiffHeader::read()
...
Memory for pPadding_ was allocated with new[] .
6 years ago
derselbst
ccf4b59c91
Merge remote-tracking branch 'origin/0.27-maintenance' into fix1001_rename_AFPrimaryPoint
6 years ago
Luis Díaz Más
20a9e5affe
Fix format-overflow warnings by using bigger buffer
6 years ago
clanmills
8859209b95
fix_1004_lens_exiftool_compatibility
6 years ago
Robin Mills
4852bd2ab2
fix_910_remote_io_block+1
6 years ago
Jens Georg
b7890776c6
crwimage: Check offset and size against total size
...
Corrupted or specially crafted CRW images might exceed the overall
buffersize.
Fixes #1019
(cherry picked from commit 683451567284005cd24e1ccb0a76ca401000968b)
6 years ago
Robin Mills
05538ebea2
fix1001_rename_AFPrimaryPoint
6 years ago
Robin Mills
7844b11e4b
[xmpsdk] Add XMP Initialisation/Cleanup code to all main() programs
...
- update documentation
- Removed redundant calls to Exiv2::XmpParser::terminate() (legacy of our
discusssion with @tester0077).
- this fixes #976
6 years ago
clanmills
1b917c3f7d
Fix #1011 fix_1011_jp2_readmetadata_loop
6 years ago
clanmills
4cf040ac4a
Install man page from man/man1/exiv2.1
6 years ago
clanmills
90f9f0bc19
Add support for Exif.Canon.AF tags to be read from images
...
This PR (and fix981_canonAutoFocus2) use a decoder listed in TiffMappingInfo to
decode Exif.Canon.AFInfo. The decoding function "manufactures" Exif tags such as
Exif.Canon.AFNumPoints from the data in Exif.Canon.AFInfo. These tags must never
be written to file and are removed from the metadata in
exif.cpp/ExifParser::encode().
Three of the tags created (AFPointsInFocus,AFPointsSelected, AFPrimaryPoint) are
bitmasks. As the camera can have up to 64 focus points, the tags are a 64 bit
mask to say which points are active. The function printBitmask() reports data
such as 1,2,3 or (none).
This decoding function decodeCanonAFInfo() added to TiffMappingInfo manufactures
the new tags. Normally, tags are processed by the binary tag decoder and that
approach was taken in branch fix981_canonAf. However, the binary tag decoder
cannot deal with AFInfo because the size of some metadata arrays cannot be
determined at compile time.
6 years ago
sat3ll
d59d929eb2
add ID for Sigma APO MACRO 180mm F3.5 EX DG (nikon)
...
(cherry picked from commit 9852e21761d962a7deb1e5e9673b3b5f5018dbfb)
6 years ago
Marek Kubica
515569030b
Remove AF designator from Tamron 70-200 G1
...
This removes the AF from the name of the lens thus matching the name
that lensfun and exiftool determine.
(cherry picked from commit a573f9795baa1cf8a68296a80114fdc575f84319)
6 years ago
Kevin Backhouse
edb4bf78ca
Add bounds check to MemIo::seek(). ( #944 )
...
- Regression test for missing bounds check in MemIo::seek()
- Add bounds check to MemIo::seek(), this fixes CVE-2019-13504
(cherry picked from commit bd0afe0390439b2c424d881c8c6eb0c5624e31d9)
Additional fixes for 0.27:
- Add fix for the linux variant of MemIo::seek
- Change type of variable from unsigned to signed
6 years ago
Robin Mills
76d2798172
Pushing very helpful suggestion by @lantw44
6 years ago
clanmills
94a777609e
fix947_FreeBSD_BasicError_typeinfo
6 years ago
Luis Díaz Más
e925bc5add
Fix integer overflow by checking size against header_size
...
Note that the problem occurs when data_size is less than header_size
what causes a buffer overflow in &data[i]
Co-Authored-By: D4N <dan.cermak@cgc-instruments.com>
6 years ago
Luis Diaz Mas
c4bfd0f0f1
Remove linkage with -ldl
...
The code using dlopen/dlclose/etc was removed from version.cpp in the past
6 years ago
Luis Díaz Más
113136e134
Replace DEBUG with EXIV2_DEBUG_MESSAGES
...
Fixes #926
6 years ago
Kevin Backhouse
cb7dc5a528
Check for integer overflows in mrwimage.cpp
6 years ago
Robin Mills
ab375fb074
Add support for FocusPosition in Sony RAW files ( #906 )
...
* Fix 582 Add support for FocusPosition in Sony RAW files
* Thanks to @boardhead sonyFpCrypt() works correctly. Removed debug code. Fixed typos.
* Update doc/templates/Makefile to process Sony2Fp
* Following review by @boardhead. Renamed sonyFpCrypt() as sonyTagDecipher().
* Fixed writing the tag thanks to @boardhead explaining encipher/decipher.
Sadly, ArrayCfg/crpyt does not know if he's encrypting/decrypting.
I've added a sniff in TiffEncoder::visitBinaryArrayEnd to avoid changing the API.
* Added URL to discussion concerning sonyTagCipher()
* make sonyTagCipher() a static function with no external visibility.
6 years ago
Robin Mills
0a47d93ccf
Add README-SAMPLES.md and remove exiv2samples.1 ( #921 )
...
* Add README-SAMPLES.md and remove exiv2samples.1
* Remove samples man page from CMake
* Add all sample programs to Doxygen.
* Adding links to source code on exiv2.org
Authored-By: Robin Mills <robin@clanmills.com>
Authored-By: Luis Díaz Más <piponazo@gmail.com>
6 years ago
Luis Díaz Más
df5054b910
Merge branch '0.27-maintenance' into 0.27-use-libssh-config
6 years ago
Andreas Sturmlechner
e85ce17fc9
Switch to libssh's own libssh-config.cmake
...
This is provided by libssh since 2013.
6 years ago
Andreas Sturmlechner
6819f2ac45
Fix install path of exiv2ConfigVersion.cmake
...
This seems to have been caused by duplicate work between master branch
and 0.27-maintenance branch, as commit 3b48249eeb350301dfb3efa3ba6f7d7b162455be
had already got that right.
6 years ago
Robin Mills
db3a260167
Changes following code review.
6 years ago
Robin Mills
b6f82a8f58
Change byte order in nikonAf22Cfg to invalidByteOrder (see #880 and #885 ).
6 years ago
Robin Mills
bd1e7522c2
Simplification of TiffDecoder::decodeTiffEntry().
6 years ago
Robin Mills
b02c80f7e4
fix646_NikonAF22
6 years ago
Luis Diaz Mas
43ed51f609
DLL information depends now on proper definition
6 years ago
clanmills
d8a513b7df
Updated following code review.
6 years ago
clanmills
742cd5885b
Fixing Windows build-breaker for EXV_UNICODE_PATH in `Protocol fileProtocol(const std::wstring& path)`
6 years ago
clanmills
ab0b97c729
fix895-ICCProfile-FalseWarning
6 years ago
Robin Mills
5a3afa9cbe
Update man page src/exiv2.1 to clarify overwrite policy with command rename
...
This fixes #662
6 years ago
sat3ll
2beefab719
Add Tamron SP 70-300mm f/4-5.6 Di VC USD (Model: A030) (Nikon Mount)
...
(cherry picked from commit 1640ac8d0ca8bbb975f7a986bf0537545423fffc)
6 years ago
Robin Mills
2451e7ba56
fix880_NikonEndian
6 years ago
clanmills
b1ed1bf246
fix743_NikonSigmaArtLens
6 years ago
Kevin Backhouse
b35c43e7c2
Remove call to atol, which might read off the end of the buffer. ( #870 )
6 years ago
Kevin Backhouse
9092b422e6
Prevent out-of-bounds read. ( #868 )
6 years ago
Kevin Backhouse
6068df4c01
Add better bounds checking in PngImage::printStructure(). ( #862 )
6 years ago
Kevin Backhouse
109d5df7ab
Check bounds of jpg_img_off and jpg_img_len. ( #858 )
6 years ago
Kevin Backhouse
1c1436e94e
Add bounds check of resourceSize. ( #856 )
6 years ago
Kevin Backhouse
80cd0d2990
Add bounds check on allocation size. ( #854 )
6 years ago
Kevin Backhouse
81ae213c71
Check bounds of allocation size. ( #848 )
6 years ago
Kevin Backhouse
7798ae2557
Throw an exception if the data location is invalid. ( #842 )
6 years ago
Kevin Backhouse
8dc87a1214
Add bounds check. ( #840 )
6 years ago
Kevin Backhouse
43f154f44b
Merge two enforces into one.
6 years ago
Kevin Backhouse
d3e69f6d2c
Add bounds check on allocation size.
6 years ago
Kevin Backhouse
c0ecc2ae36
Avoid integer overflow.
6 years ago
Robin Mills
f4a37c63f2
version.cpp Pragma removed. Platform includes simplified.
...
cmake/packaging.cmake Changed comment about VS version numbers
6 years ago
Robin Mills
b8af098285
Removed redundant _MSC_VER pragma to link psapi as the link is specified in CMakeLists.txt.
...
Simplified the platform include files required to support getLoadedLibraries()
6 years ago
Robin Mills
955962eaa8
Code revisions after review by @piponazo
6 years ago
Robin Mills
b0a9cb5624
NetBSD/FreeBSD Support
6 years ago
Kevin Backhouse
6a44698abc
Small change to comment.
6 years ago
Kevin Backhouse
3c818f49d9
Revert accidental whitespace change.
6 years ago
Kevin Backhouse
3faeaefbf5
Improve portability of bounds checks.
6 years ago
Kevin Backhouse
86816c0280
Fix signed/unsigned mismatch.
6 years ago
Kevin Backhouse
caa4e6745a
Avoid negative integer overflow when `filesize < io_->tell()`.
...
This fixes #791 .
6 years ago
clanmills
db870755b9
fix #818 . Restore 0.25 behaviour of `$ exiv2 -g image ...` to apply grep to keys.
6 years ago
Kevin Backhouse
8cd95e2218
Avoid negative integer overflow when `chunkLength == 0`.
...
This fixes #789 .
6 years ago
Luis Díaz Más
f05d100579
CURL lib and include directories private for exiv2lib
...
(cherry picked from commit 5d64a0b11c5a45dd9d58c56e946301f3f98942a7)
6 years ago
Kevin Backhouse
6fa2e31206
Avoid negative integer overflow when `iccOffset > chunkLength`.
...
This fixes #790 .
6 years ago
Robin Mills
fe3f3248dd
Fix in sidecar files #589
6 years ago
Kevin Backhouse
ae20c30805
Avoid null pointer exception due to NULL return value from strchr.
...
This fixes #793 .
6 years ago
Robin Mills
78676b2a02
Fix #798
6 years ago
Robin Mills
7a9c928efb
Fix to exiv2.1 man page for v0.27.1
6 years ago
Robin Mills
514ae0fa89
Fix #780
6 years ago
Luis Díaz Más
51f3910413
[jp2image] Limit data representation to 30 bytes
...
- fixes #744
6 years ago
D4N
adfc01f2e0
Update tests/bugfixes/github/test_issue_742.py
...
Co-Authored-By: piponazo <piponazo@gmail.com>
(cherry picked from commit 39d8904696338d5bd4a9c7e9a96a798a791d0973)
6 years ago
Luis Diaz Mas
25ddbaa6c0
Make subBox.length check in jp2image.cpp more robust
...
(cherry picked from commit a154b992ccad71a7d95a94cdedb933fa66a51b61)
6 years ago
Luis Díaz Más
8c81e1146c
clang-format Jp2Image::printStructure()
...
(cherry picked from commit b6e4ca0a8cfff1ad0f6040901382863cccee33cb)
# Conflicts:
# src/jp2image.cpp
6 years ago
Luis Díaz Más
051b5d9df1
Fix #742 by detecting incorrect subBox size
...
(cherry picked from commit 1bdd3eab5ebdde324dbfecc3fb6d6495b32d2e4d)
6 years ago
Dan Čermák
5e6c2855ce
[NikonMakerNote] Fix overread in Nikon1MakerNote::print0x0088
...
This function was printing the string from the array of strings nikonFocusArea,
but it wasn't verifying that the array index is actually valid.
Now this function will output "Invalid value" instead of crashing.
6 years ago
clanmills
282e99b6b0
Fix #610
...
(cherry picked from commit 54367e18ed0bf8bae6d8449341a6f82779f6d3c7)
6 years ago
Luis Díaz Más
9296067b95
Fix access to null pointer in TiffParser
6 years ago
Luis Díaz Más
4265ac5e0f
exiv2-xmp linked privately
6 years ago
Seth Parker
892d39e3bf
Add missing libintl include dirs to exiv2lib_int and exiv2
6 years ago
Michał Walenciak
6887822243
removing unused header generation
6 years ago
Michał Walenciak
a7340a3801
removinf usage of EXIV2_DEPRECATED macro
...
It can expand to [[deprecated]] which cannot be combined
with result of EXIV2API macro expansion: __attribute__(...)
6 years ago
Michał Walenciak
aae88060ca
Use ${CMAKE_INSTALL_LIBDIR} as proper files location
6 years ago
Michał Walenciak
4ddd44e9da
create & install exiv2ConfigVersion.cmake
6 years ago
Luis Diaz Mas
127c2eac0e
Fix warnings on MSVC
6 years ago
Luis Díaz Más
704fc56d52
Keep the profileName from readMetadata and use it in writeMetadata
7 years ago
Luis Díaz Más
e385599067
Refactoring to make the doe more readable. Fix icc tests
7 years ago
Luis Díaz Más
436b0f87b5
Add missing header when -DDEBUG is present
7 years ago
Luis Díaz Más
d1097fab59
Factor our function to read PNG Chunk info
7 years ago
Luis Díaz Más
914a8c5585
Factor out exception throw in different places inside isPngType
7 years ago
Luis Diaz Mas
88f22e13cb
Fix ICC profile in PNG images
7 years ago
Luis Diaz Mas
6abdb7e77a
Install new file exiv2lib_compiler_detection.h
7 years ago
Luis Diaz Mas
9d62998973
cmake: compile video sources conditionally
7 years ago
Luis Díaz Más
798396e71a
cmake: use CONAN_PKG::OpenSSL only if NOT APPLE
7 years ago
Luis Díaz Más
08478c3217
Fix SSL linking issues on Windows
7 years ago
Luis Díaz Más
4fa2bc7008
Propagate CURL linkage when it is enabled
7 years ago
Luis Díaz Más
04c9b181cc
Fix #644 . Export specializations of BasicError
...
- Only export BasicError::setMsg which is the only implementation present in the .cpp
- Only export BasicError specialization on __APPLE__
It seems that gcc automatically adds the attribute when the visibility
settings are set to hidden. See this link for more information:
https://reviews.llvm.org/D35388
7 years ago
Luis Diaz Mas
6f8d8e3da6
cleanup header inclusions in API
7 years ago
Luis Diaz Mas
acc9fa012d
Reliable detection of strerror_r variants
7 years ago
Andreas Schneider
ed3a0f1341
cmake: Install header files without globbing
...
Fixes #627
Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
(cherry picked from commit 0b34ccb9a3b26cd1c5267c6a5c15e9fa1a665adb)
7 years ago
Andreas Schneider
6062b1b803
cmake: Rename xmp to exiv2-xmp to avoid name conflicts
...
There is already a libxmp file by the xmp project on https://xmp.sf.net .
To avoid issues prefix with exiv2.
Fixes #624
Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
(cherry picked from commit 89509d7a3915ba474cbc3f8c85ab9bec4954ceda)
7 years ago
Alexander Steffen
8453ef0466
Add Tamron SP 24-70mm f/2.8 Di VC USD G2 for Canon
...
Fixes #330 .
7 years ago
Alexander Steffen
f586d57bb1
Add various Sigma and Canon lenses
7 years ago
Alexander Steffen
cf4f14c67b
Add new IDs for Sigma lenses with firmware 2.00
...
The firmware update changed the IDs, so that the same lens may now be known
under different IDs.
7 years ago
Natanael Copa
63f1fde85b
Fix path for errno.h
...
Fix warnings when built with musl libc by using the correct path for
errno.h as defined in POSIX.
Fixes the following warning:
In file included from /home/ncopa/src/exiv2/src/http.cpp:74:
/usr/include/sys/errno.h:1:2: warning: #warning redirecting incorrect #include <sys/errno.h> to <errno.h> [-Wcpp]
#warning redirecting incorrect #include <sys/errno.h> to <errno.h>
^~~~~~~
7 years ago
Natanael Copa
480430d397
Fix usage of strerror_r
...
Only GNU libc has implementation of the GNU variant of strerror_r, so
also for __GLIBC__ to determine which strerror_r implemenation to use.
This fixes build with musl libc, which makes some, but not all, GNU
extensions available with _GNU_SOURCE.
7 years ago
Luis Díaz Más
17fecb358f
Merge branch 'master' of https://github.com/FreddieWitherden/exiv2 into FreddieWitherden-master
7 years ago
Robin Mills
a9404154bc
Fix: https://github.com/Exiv2/exiv2/issues/585
7 years ago
Robin Mills
88ec8b88ea
Fix #562 for 32 bit builds (don't throw arithmetic exception).
7 years ago
Robin Mills
a33041a8b7
Fix: https://github.com/Exiv2/exiv2/issues/562 for stringFormat() crashes.
7 years ago
Robin Mills
03b4f1deae
Fix: https://github.com/Exiv2/exiv2/issues/580
7 years ago
Robin Mills
56ba273a90
Fix: https://github.com/Exiv2/exiv2/issues/577
7 years ago
Robin Mills
43683f1eff
Fix #531
7 years ago
Robin Mills
23483dff86
#571 Restore the original windows getProcessCode() because Microsoft's GetModuleFileName isn't effective!
7 years ago
Robin Mills
108509a089
Correction to Microsoft sample code! https://docs.microsoft.com/en-gb/windows/desktop/Services/installing-a-service
7 years ago
Robin Mills
9cb6c1e4c9
Correction in futils.cpp
7 years ago
Robin Mills
22e49cc78b
Try to fix https://github.com/Exiv2/exiv2/issues/572
7 years ago
Robin Mills
3af6f43ff0
Fix: https://github.com/Exiv2/exiv2/issues/571
7 years ago
Robin Mills
eab816fd32
src/version.cpp report enable_nls
7 years ago
clanmills
c22a38cfb4
Fix for https://github.com/Exiv2/exiv2/issues/560 (eraseFamily() crashes in MSVC/Debug).
7 years ago
Robin Mills
062bad7535
Adding output for have_regex to version.cpp
7 years ago
Robin Mills
1b136f0657
Revision to PR#557. Restored XmpData::erase() and added XmpData::eraseFamily(). Restored and augumented conversions.sh
7 years ago
Robin Mills
ccd708df24
Fix: https://github.com/Exiv2/exiv2/issues/521
...
conversions.sh reveals a (harmless) order change runTest exiv2 -M'set Xmp.xmp.ModifyDate 2015-04-17T18:10:22Z' v.xmp
7 years ago
Luis Díaz Más
0d7b3ecd1e
Update man page
7 years ago
Luis Díaz Más
4ed5bdc78b
CMake: Supress MSVC PDB warnings
7 years ago
skal
ecaf1dd478
Fix alpha bit detection in VP8L chunks
...
As per the spec ([1]), the alpha_bit is located on the 4th byte of the payload, just after the height.
This seems to fix the bug reported on GIMP ([2]) where an incorrect file was generated.
[1] https://developers.google.com/speed/webp/docs/webp_lossless_bitstream_specification#2_riff_header
[2] https://gitlab.gnome.org/GNOME/gimp/issues/1818
7 years ago
Luis Díaz Más
6e42c1b55e
Fix #561 . Use proper counter for the idx variable
7 years ago
Luis Díaz Más
34e411d2fc
Fix 547: option -pR only available in Debug mode.
...
Note that the method Params::evalPrint() has been clang-formatted.
7 years ago
Luis Díaz Más
186352e295
conan: copy 3rd party dlls only if the conanDlls folder exists
...
Note that this folder will only exists if at least one of the conan packages managed with the shared option = True.
7 years ago
Robin Mills
89375979d8
https://github.com/Exiv2/exiv2/issues/555
...
I have restored the Macro EXIV2_TEST_VERSION in include/exiv2/version.hpp
I have added an option --version-test to exifprint.cpp to test/validate EXIV2_TEST_VERSION works as documented.
Version strings in Exiv2 v0.27 and later have a fourth digit to indicate the pre-release number of the build.
Pre-release builds should never be used for production purposes.
7 years ago
Luis Díaz Más
ee28e8ae15
CMake: Install public headers
7 years ago
Luis Díaz Más
8e5ee7a0e6
Fix debug flag preprocessor condition
7 years ago
Luis Díaz Más
9547cddbd1
Add protection around EXV_LOCALEDIR definition
7 years ago
clanmills
c5cd09bebe
Fix getProcessPath() on Cygwin
7 years ago
clanmills
2f70ae4305
Fix getProcessPath()
7 years ago
Robin Mills
8a6cd5d24e
Fix -vVg loops
7 years ago
Luis Díaz Más
0c871a5878
CMake: Align sources and headers in two columns
7 years ago
Luis Díaz Más
faa3a607ab
CMake: Remove FREEBSD variable + Remove commented code
...
- Plus: EXV_LOCALEDIR is now defined only when needed.
7 years ago
Luis Díaz Más
5fc905a799
CMake: remove variable EXIV2_SRC
7 years ago
Luis Díaz Más
fa5f057f8c
CMake: Remove useless source_group commands
7 years ago
Luis Díaz Más
b208bcef7d
CMake: CURL does not need to be propagated
7 years ago
Luis Díaz Más
37538399d6
CMake: Modernize src/CMakeLists.txt by using target_sources.
7 years ago
Luis Díaz Más
9980107586
Only include zlib directory when building the exiv2lib
7 years ago
Luis Diaz Mas
e397f8f053
Fix #533 - Apply patch proposed by Dominique Nerriec
7 years ago
Luis Diaz Mas
83bb4aa80a
code formatting
7 years ago
Luis Díaz Más
38b60a3e8e
CMake: Simplify Intl finding
7 years ago
Luis Díaz Más
4ffc577e4e
CMake: remove useless directory inclusions for exiv2
...
Note that ${CMAKE_SOURCE_DIR}/include is already passed to exiv2
through the exiv2lib target.
7 years ago
Luis Díaz Más
185bcaca05
Link exiv2 app againts libintl
7 years ago
Luis Díaz Más
aae84e4643
Add missing inclusions of cstdio and cstdarg
7 years ago
Luis Díaz Más
44a01863be
Include unistd.h only where it is needed
7 years ago
Luis Díaz Más
38ed6de05d
MSVC: Move compile definitions from config.h to CMake.
...
+ Also remove inclusion of <Windows.h> from config.h
7 years ago
Luis Díaz Más
8bf9ca8e6d
MSVC: Delete deprecated stuff related to MSVC < 2008
7 years ago
Luis Díaz Más
d1c2e2f64f
bindtextdomain point to relative path to bin directory
7 years ago
Luis Díaz Más
7485bb54d7
Create function getProcessPath and add unit test for it
...
Debugging: Relative and Absolute path alternatives
7 years ago
Luis Díaz Más
e20329b8e0
Remove EXV_HAVE_DLL and disable C4251 always on msvc.
7 years ago
Luis Díaz Más
417ad89e4b
Pass argument by const reference
7 years ago
Luis Díaz Más
2203dce828
Fix compilation in clang
7 years ago
Luis Díaz Más
59ba209fe8
Move BlockMap to .cpp file (Remove it from API)
...
- Also make some BlockMap methods const
7 years ago
Luis Díaz Más
fab770887b
Initialize member variables not initialized in the constructor
7 years ago
Luis Díaz Más
20a29cc9c4
Initialize variable in constructor initialization list
7 years ago
Luis Díaz Más
58a96d5908
Fix - Exception thrown in function that was declared not to throw
7 years ago
Luis Díaz Más
2d1e1fe6ef
Reduce the scope of variables
7 years ago
Luis Díaz Más
dc7eb5008b
Add explicit to constructors with 1 argument
7 years ago
Luis Díaz Más
1620198568
Update fujiColor tag with descriptions for new Fujifilm monochrome modes
7 years ago
Robin Mills
ac951622f4
Update DateTimeOriginal in NEF images
7 years ago
Luis Díaz Más
ae49250942
Check in Image::printIFDStructure if seek and reads are OK
7 years ago
Luis Díaz Más
59013f2e2f
Formatting code
7 years ago
Luis Diaz Mas
b7c71f3ad0
PSD: enforce Length of image resource section < file size
7 years ago
Luis Diaz Mas
6896693251
PSD: Use Safe::add for preventing overflows in PSD files
7 years ago
Luis Díaz Más
933ce589a6
Fix infinite loop in getopt.cpp
...
Note that the getopt code was looping forever when one of the argument
options was incorrect. Example:
./exiv2 -A 20:00:00 -Y 2018 -O 11 -D 01 ad myImage.tiff
7 years ago
Robin Mills
b608ad9fdd
Restore exiv2.pc in the mix ( #497 )
7 years ago
Luis Díaz Más
8b877d6ed6
SOVERSION is VERSION_MINOR as in 0.26
7 years ago
Luis Díaz Más
c34c545e31
Change back the library name to exiv2. Generate PDBs in CURRENT_BINARY_DIR.
...
We need to specify where to generate the PDB so that it does not clash with the PDB file generated
for the exiv2 application.
7 years ago
Luis Díaz Más
8d5d453c13
Use the MSYS CMake variable to determine when to use localtime.c
7 years ago
Luis Díaz Más
bc1c17fd78
Add back localtime.c implementation for MinGW
7 years ago
Robin Mills
a099f2440a
Man page update to describe the configuration file.
7 years ago
Robin Mills
42084f2563
Add support for MinGW/msys2 in 32 bits + Updates in buildserver
7 years ago
Robin Mills
e347b41279
Modified Exiv2::Internal::stringFormat() to use larger initial guess for 'need' to fix test/.icc-test.sh on MinGW.
7 years ago
Robin Mills
5f6ef65695
Update PROJECT_VERSION & add install() commands for CPack
...
- Version updated to 0.27.0.1.
- Release notes for MacOS-X Package, Linux, CYGWIN, win64 and msvc
- Redmine Release Notes Updated.
7 years ago
Luis Díaz Más
3976dbc0e7
CMake: Do not rename library outputs (dlls, pdbs, etc). Fixes a debugging issue with MSVC
7 years ago
Robin Mills
9c516116c8
Fix #401 by fixing iteration over exif data tags
7 years ago
Robin Mills
b3d077dcae
Fix #460 by adding more checks in CiffDirectory::readDirectory
7 years ago
Luis Díaz Más
670fb73dd5
Fix #457
7 years ago
Dan Čermák
962962a8e9
Port Iptc::printStructure & getUshort to slices API
...
This fixes #211 , #210 , #209
7 years ago
Dan Čermák
fec6535ae8
[binaryToString] Reimplement using Slices
...
- reimplement binaryToString:
- it now accepts a Slice and nothing else
- it does not return a std::string but instead a proxy object that implements
operator<< (this should be more efficient, as we do not need to touch the
heap in most cases)
- addapt unit tests
- replace all occurences with the new API
7 years ago
Dan Čermák
a48d0347b7
[binaryToString] Fixed overread when passing start > 0
...
binaryToString(DataBuf&) only calls the C-array version. Unfortunately, its
safety check is flawed, as it only works when start is 0 (probably due to its
conterintuitive interface).
binaryToString(byte*) formats the range (start,start+size) => we have to trimm
size if size + start is larger than the DataBuf's size_
7 years ago
Dan Čermák
bfd84ddf5a
[binaryToString] Improved ambiguous documentation
7 years ago
Dan Čermák
7a7ae7a1df
[image_int] Move internal functions into separate translation unit
7 years ago
Dan Čermák
98bca06592
Add Slices: views of STL containers & C-arrays and add unit tests
...
This commit adds a very simple implementation of std::span but with
mandatory range checks and only the most essential functionality.
7 years ago
Luis Díaz Más
97379dec1d
Add braces around try-catch block. Apply clang-format to the function.
7 years ago
Luis Díaz Más
4216dcd0c2
Fix cppcheck issues: knownConditionTrueFalse
7 years ago
Luis Díaz Más
ab35759de8
Fix cppcheck issues: unreachableCode
7 years ago
Luis Díaz Más
54ad1bc91a
Fix cppcheck issues: duplicateBreak
7 years ago
Luis Díaz Más
b118192f94
Fix cppcheck issues: redundantAssignment
7 years ago
Luis Díaz Más
c43d998457
Fix cppcheck issues: passedByValue
7 years ago
Luis Díaz Más
989acd18c7
Fix cppcheck issues: uninitMemberVar & uninitVar
7 years ago
Luis Díaz Más
19e740b447
Restore API functions remove in #450
7 years ago
Roberto C. Sánchez
c03f73268f
Prevent SIGABRT on excessive subBox length in jp2image.cpp
...
This fixes CVE-2018-9145
7 years ago
Borchers, Henry Samuel
11e66c6c9e
BUILD_INTERFACE for include directories use PROJECT_SOURCE_DIR to allow for being built as a CMake subproject
7 years ago
Dan Čermák
916c535d94
clang-format floatToRationalCast
7 years ago
Dan Čermák
6fd1c5b4bf
[types] Fix check for finite numbers on Linux
...
On Linux we were merely checking whether f is finite, but that does
not cover the case f=NaN.
=> use isfinite instead which checks whether f != inf && f != NaN
7 years ago
Luis Díaz Más
18690f4c54
Provide default and copy constructor for AnyError
7 years ago
Luis Díaz Más
6e4404da81
Move implementation details from tags.cpp to tags_int.cpp
7 years ago
Luis Díaz Más
b9f913d5af
Move implementation to .cpp files. Fix more issues related to visibility settings
7 years ago
Luis Díaz Más
e3f975137c
Use STATIC_DEFINE to solve issues with OBJECT library
7 years ago
Luis Díaz Más
6ba4081f95
Use CMake-GenerateExportHeader to generate a macro to export symbols
...
- Delete the hardcoded macros in config.h taking care of that.
7 years ago
Luis Díaz Más
812762cf5a
Remove usage of CPLUSPLUS11
7 years ago
Luis Díaz Más
ab6aac054a
Remove deprecated code from version source files
7 years ago
Luis Díaz Más
1871ce5acd
Remove 'version.hpp' inclusion from places where it is not needed
...
By removing the inclusion from types.hpp we avoid lots of recompilation
of source files.
7 years ago
Luis Díaz Más
e5bcabd026
Do not print hexadecimal version value when running exiv2 --version
7 years ago
Dan Čermák
67ec90bdab
Fix switch value in BigTiffImage::readData
...
This function extracts a 2, 4 or 8 byte integer from the image and
swaps it according to the current setting. However, it was implicitly
assuming, that it reads the same amount from the image is is
requested.
If that is not the case, e.g. if 8 bytes are requested but
only 4 are read
=> result is created via byteSwap8() which reads 8 bytes
!but 4 of those are uninitialized!
Using the actually read size fixes this problem.
7 years ago
Dan Čermák
ecf955812d
Replace reachable assertions with enforce in BigTiffImage::readData
7 years ago
Dan Čermák
b3199a0720
Fix division by zero in BigTiffImage::printIFD
...
This fixes #262
7 years ago
Robin Mills
afb98cbc6e
Allocate correct amount of memory for the ICC profile
7 years ago
Robin Mills
8ff26931e3
Do not use Image::printStructure() when reading images as this causes security issues.
7 years ago
Luis Díaz Más
1bdbb86b0c
Fix warning about implicit conversion to bool
7 years ago
Luis Díaz Más
dba48ac3d9
Fix warning on VS2008
7 years ago
Luis Díaz Más
603692a1d8
Copyright to Exiv2 authors
7 years ago
Luis Díaz Más
c4cc019dff
Hide -Wunused-variable issues by using the UNUSED() macro
7 years ago
Luis Díaz Más
94375034e6
Fix -Wsign-compare issues
7 years ago
Luis Díaz Más
18ded9ccf3
Use static version of libcurl.
...
Note that this will simplify the packaging/deployment
7 years ago
Luis Díaz Más
0bfa0168df
Cleanup some of the PACKAGE_XXX variables and rely in the ones given by the project() command
7 years ago
Luis Díaz Más
980f2e9462
Use isnan(f) as an alternative to isinf() on __APPLE__
7 years ago
Robin Mills
6d1c318fc6
Fixes in PngChunk::readRawProfile
7 years ago
Luis Díaz Más
f5b40f3e82
Fix more issues in PngChunk::readRawProfile
7 years ago
Luis Díaz Más
847da051c0
Fix bug in PngChunk::readRawProfile
...
- Now it takes into account text.size_ when searching for a newline
char.
7 years ago
Luis Díaz Más
6b77e9f6c8
Do not use std::vector::data() which is not part of c++98
7 years ago
Luis Díaz Más
2ae0cffe18
isinf for Visual Studio versions previous to 2013
7 years ago
Luis Díaz Más
4161099b91
Fix warnings reported by MSVC
7 years ago
Luis Díaz Más
da24df0ba0
snprintf versions for VS versions previous to 2015
7 years ago
Luis Diaz Mas
67e448669e
Use -Wno-format-overflow when compiling value.cpp to skip false positive warning
7 years ago
Luis Díaz Más
597b17fff5
Simplify timegm.h and make it usable with MINGW
7 years ago
Dan Čermák
1e23238fa4
Fix memory leak in Params::getopt()
7 years ago
clanmills
3c42fdddeb
Fix include <exiv2/exiv2.hpp> to include exiv2/config.h (and consequential changes)
...
Fix cltest.cpp and version.cpp to report MSVC 2017 in which _MSC_VER == 1910
7 years ago
Robin Mills
74bc0e0535
Changes for cross-platform getopt
7 years ago
Hombre
a226d6a650
Fixing typo in cmakefiles and removing REGEX dependencie for Cygwin
7 years ago
Hombre
28da26f174
Adding MINGW32 toolchain support
7 years ago
Dan Čermák
7d9ed33bde
Initialize DataBuf with 0s => fix valgrind error
7 years ago
Dan Čermák
9f1a5a1ebb
[futils] Change signature of getEnv to take an int
...
While taking an EnVar as the parameter is more clear it has the
disadvantage, that passing anything outside of the range of the
enumeration is undefined behavior. The compiler could then optimize
the range check in getEnv away (perfectly legal due to UB), leading
to buffer overreads.
7 years ago
Dan Čermák
11df43be78
[types] Apply Safe::abs() in floatToRationalCast & gcd
...
Also check for infinity in floatToRationalCast as depending on the
compiler special values of floats are converted to either
LONGMAX/LONGMIN or +/-inf
7 years ago
Dan Čermák
2dacb19933
[safe_op] Add Safe::abs(), calculates absoulte value without UB
...
Add a drop-in replacement for std::abs which never produces
negative values and thereby never invokes undefined behavior.
7 years ago
Luis Diaz Mas
8b47a8efc1
Include timegh.h in file which needs it
7 years ago
Luis Diaz Mas
a9c9451588
Remove localtime.c and any other trick to handle timegm
7 years ago
Luis Diaz Mas
eb306fdbae
Substitute malloc/free with new/delete
7 years ago
Luis Diaz Mas
eefee8125b
to_hex and from_hex removed from API
7 years ago
Luis Diaz Mas
41499b8ecd
Use snprintf instead of sprintf in TimeValue::copy
...
- Replaced assert by enforce
7 years ago
Luis Diaz Mas
7d8edbe781
Remove more dead code
7 years ago
Luis Diaz Mas
00502eabdd
Move mrwthumb to samples
7 years ago
Luis Diaz Mas
e9a6597a48
Move xmpdump to samples
7 years ago
Luis Diaz Mas
ac51fda7b5
Move crwparse to samples
7 years ago
Luis Diaz Mas
32b618b1c7
Move crwedit from exiv2lib to samples
7 years ago
Luis Diaz Mas
f9b2784055
Remove utiltest.cpp that is not compiled
7 years ago
Luis Diaz Mas
00f86a8df4
Cleanup unused variable warnings
7 years ago
Luis Diaz Mas
6e244f31d3
Cleanup fallthrough warning + clang-format parseCommonTargets function
7 years ago
Dan Čermák
35b3e596ed
Add overflow & overread checks to PngChunk::parseTXTChunk()
...
This function was creating a lot of new pointers and strings without
properly checking the array bounds. This commit adds several calls
to enforce(), making sure that the pointers stay within bounds.
Strings are now created using the helper function
string_from_unterminated() to prevent overreads in the constructor of
std::string.
This fixes #400
7 years ago
Dan Čermák
6da77e2c64
Add documentation for parameters of string_from_unterminated
7 years ago
Dan Čermák
b127354429
Simplify string_from_unterminated by using strnlen()
7 years ago
clanmills
ce516eddef
Issue-374
7 years ago
Dan Čermák
b12a868454
Add EXV_WARN_UNUSED_RESULT macro & add it to DataBuf::release()
...
EXV_WARN_UNUSED_RESULT is a conditional macro that expands to either
__attribute__((warn_unused_result)) on gcc & clang or to _Check_return
for MSVC
=> Compiler warns if the return value is ignored
7 years ago
Dan Čermák
1ab921cb83
Add two padding bytes to exifLongHeader to prevent overreads
...
in the following call:
getHeaderOffset (payload.pData_, payload.size_, (byte*)&exifLongHeader, 6);
getHeaderOffset would read 6 bytes from exifLongHeader, reading beyond the
bounds of the array => add 2 padding bytes to prevent overreads
7 years ago
Dan Čermák
dbf90b976f
Fix overread in memcmp in PngImage::doWriteMetadata()
...
memcmp() compares the read data from key with the provided string, but when
key.pData_ is shorter than the provided length, then memcmp can read beyond the
bounds of key.pData_
=> add custom compare function, which ensures that we never read more than
key.size_
7 years ago
Dan Čermák
8d5a3c7dd9
Remove buffer overread in tExtToDataBuf
...
The pointer p is advanced in the while loop to step over three '\n'.
However, its length is never reduced accordingly. => the length check in the
following for loop is invalid, as it permits overreading by the number of
characters that p was advanced by.
7 years ago
Dan Čermák
67dc3e691f
[IptcData::printStructure] clang-format function
7 years ago
Dan Čermák
b2c3b61abc
[IptcData::printStructure] Remove buffer overrun
...
The loop condition will perform a range check correctly, but it will always
dereference bytes[i], even if i is too large and fails the second check.
=> move the bytes[i] == 0x1c check into a if, after the range check was
successfull
7 years ago
Dan Čermák
39399ac5e8
Remove memory leak in SshIo::SshImpl::getDataByRange
...
The buffer array is not deleted, when an exception is thrown
(happens for nBytes< 0).
=> use std::vector<char> instead
7 years ago
Dan Čermák
607b19111c
[DataBuf] Replace wrong usage of release() with free()
7 years ago
Dan Čermák
1b74db8f51
[types] Add DataBuf::free()
...
DataBuf::release() easily cause memory leaks, when the return value is
ignored. free() provides the desired behavior, when the internal data should
just be deleted and not used further.
7 years ago
Dan Čermák
81b6d36c90
[webp] Enforce minimum read size in decodeChunks
...
The size parameter is only checked for upper bounds, but not for lower.
If it is too small, then created dataBuf will be too small and overflow in one
of the subsequent memcpy() calls.
This fixes #378 / CVE-2018-14046
7 years ago
Luis Díaz Más
6a203c70c0
Include missing unused.h header in convert.cpp
7 years ago
Dan Čermák
b761c6d056
Remove useless casts in preview.cpp
7 years ago
Dan Čermák
fe70939f54
Fix addition overflows in range checks in LoaderTiff::getData
...
Several checks for extracted values performed no overflow checks on the
addition. They can be tricked into passing, albeit the individual summands are
too large.
=> use Safe::add() which now aborts when an overflow occurs
This fixes #366
7 years ago
Dan Čermák
f4e8ed2fd4
Catch all exceptions not caught in exiv2 cli-tool
...
It effectively looks the same as before, only now we don't call abort() but
instead clean up everything gracefully.
7 years ago
Dan Čermák
937a1a2bd0
Add offset_ and size_ safely in LoaderExifJpeg::LoaderExifJpeg
...
offset_ can become arbitrarily large and overflows once its added to size_,
this causes all kinds of problems further in the code when offset_ is used
again.
=> Use Safe::add() to catch potential overflows
This fixes #365 .
7 years ago
Luis Diaz Mas
abf6e8ec27
Remove code related with autotools
7 years ago
tbeu
6b1615840f
Remove redundant check
...
V547 Expression 'bPrint' is always true. rafimage.cpp 112
V547 Expression 'bPrint' is always true. rafimage.cpp 125
V547 Expression 'bPrint' is always true. rafimage.cpp 136
V547 Expression 'bPrint' is always true. rafimage.cpp 147
V547 Expression 'bPrint' is always true. rafimage.cpp 158
V547 Expression 'bPrint' is always true. rafimage.cpp 169
V547 Expression 'bPrint' is always true. rafimage.cpp 190
V547 Expression 'bPrint' is always true. rafimage.cpp 213
V547 Expression 'bPrint' is always true. rafimage.cpp 236
V547 Expression 'bPrint' is always true. rafimage.cpp 252
V547 Expression 'bPrint' is always true. rafimage.cpp 262
V547 Expression 'bPrint' is always true. rafimage.cpp 272
7 years ago
tbeu
eca251865f
Fix check (on comparing unsigned minus signed greater zero)
...
V555 The expression 'object->sizeDataArea_ - buf.size_ > 0' will work as 'object->sizeDataArea_ != buf.size_'. tiffvisitor.cpp 911
7 years ago
tbeu
bb9034e029
Do not implicitly cast enum to Boolean
...
V768 The expression 'fileProtocol(path)' is of enum type. It is odd that it is used as an expression of a Boolean-type. futils.cpp 288
7 years ago
tbeu
12d0da619b
Use clear to reset string
...
V815 Decreased performance. Consider replacing the expression 'token = ""' with 'token.clear()'. http.cpp 193
7 years ago
tbeu
9569ef2fda
Use auxiliary variable
...
V807 Decreased performance. Consider creating a reference to avoid using the 'image_.exifData()' expression repeatedly. preview.cpp 530
7 years ago
tbeu
75cdbc8b91
Use pre-increment on iterators
...
V803 Decreased performance. In case 'userEnd' is iterator it's more effective to use prefix form of increment. Replace iterator++ with ++iterator. futils.cpp 405
V803 Decreased performance. In case 'authEnd' is iterator it's more effective to use prefix form of increment. Replace iterator++ with ++iterator. futils.cpp 410
V803 Decreased performance. In case 'hostEnd' is iterator it's more effective to use prefix form of increment. Replace iterator++ with ++iterator. futils.cpp 428
V803 Decreased performance. In case 'e' is iterator it's more effective to use prefix form of increment. Replace iterator++ with ++iterator. epsimage.cpp 711
V803 Decreased performance. In case 'e' is iterator it's more effective to use prefix form of increment. Replace iterator++ with ++iterator. epsimage.cpp 841
V803 Decreased performance. In case 'e' is iterator it's more effective to use prefix form of increment. Replace iterator++ with ++iterator. epsimage.cpp 958
V803 Decreased performance. In case 'i' is iterator it's more effective to use prefix form of increment. Replace iterator++ with ++iterator. epsimage.cpp 855
V803 Decreased performance. In case 'it' is iterator it's more effective to use prefix form of increment. Replace iterator++ with ++iterator. jpgimage.cpp 817
V803 Decreased performance. In case 'lib' is iterator it's more effective to use prefix form of increment. Replace iterator++ with ++iterator. version.cpp 508
V803 Decreased performance. In case 'it' is iterator it's more effective to use prefix form of increment. Replace iterator++ with ++iterator. version.cpp 563
V803 Decreased performance. In case 'it' is iterator it's more effective to use prefix form of increment. Replace iterator++ with ++iterator. xmpsidecar.cpp 138
7 years ago
tbeu
e5a4f1cf35
Use auxiliary variable
...
V807 Decreased performance. Consider creating a reference to avoid using the 'image.exifData()' expression repeatedly. crwimage.cpp 1320
7 years ago
tbeu
3674ce2c1d
Remove superfluous assignment
...
V519 The 'md_st' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 155, 156. easyaccess.cpp 156
7 years ago
tbeu
9c507b9d20
Fix function declaration
...
V762 It is possible a virtual function was overridden incorrectly. See third argument of function 'printStructure' in derived class 'TiffImage' and base class 'Image'. tiffimage.hpp 93
7 years ago
Luis Díaz Más
9f67edd9bd
Conan: bring libiconv dependency for Windows
7 years ago
Luis Díaz Más
e82cd1734c
Fix warnings reported by -Wmisleading-indentation
7 years ago
Luis Díaz Más
88ba920962
Extract out common code for two switch-cases into a function to fix warning
...
The warning was caused by -Wimplicit-fallthrough:
https://developers.redhat.com/blog/2017/03/10/wimplicit-fallthrough-in-gcc-7/
I also realized that the method printStructure was duplicated in the
classes Print and Erase. By moving the implementation to a free function
into the cpp file, I could remove the duplication in the code.
7 years ago
Luis Díaz Más
335607054c
Use enforce instead of std::assert to fix warning about unused variable in realease mode
7 years ago
Luis Diaz Mas
773bdfd14e
Create a header where to keep an unique definition of UNUSED
7 years ago
Luis Diaz Mas
9586928d29
Add CMake code to handle external XMP
...
Experiment: Try with testing package
7 years ago
Dan Čermák
a1a9c3d79a
Use reinterpret_cast instead of C style cast
7 years ago
Dan Čermák
b51b6fc52d
Prevent an out of bounds read in strstr in JpegBase::printStructure
...
The xmp byte array is not necessarily null terminated => strstr can read beyond
the bounds of the allocated array then.
Therefore use string_from_unterminated to remedy this issue.
Also replace xmp with a std::vector, as stl functions can throw and we don't
want a memory leak.
7 years ago
Dan Čermák
510560bbd1
Prevent out of bounds read in jpgimage.cpp JpegBase::printStructure
...
signature is extracted from an image and can lack the terminating \0, this
causes the std::string constructor and strcmp to read beyond the bounds of the
allocated array.
=> Use string_from_unterminated to construct a std::string safely and use it
in the subsequent code & use stl functions instead of C functions
7 years ago
Dan Čermák
dd52b1a832
Add helper_functions.cpp/hpp & unit tests
...
- add function which constructs a new std::string from a potentially not null
terminated char *
- add unit tests
7 years ago
Luis Diaz Mas
59493d1edc
Fix bug in Cr2Header::read
7 years ago
Luis Diaz Mas
1d27c21639
Rename files from cr2image_int to cr2header_int
7 years ago
Luis Diaz Mas
67a5a74115
Throw when trying to write out of the buffer
7 years ago
Luis Diaz Mas
863aaebc92
Use index to access buf.pData_
7 years ago
Luis Diaz Mas
ed874703ad
Prevent call to memcpy with size==0
7 years ago
Luis Diaz Mas
f17636460f
Remove tags_int.cpp that was not used in the project
...
I introduced that file accidentally in the project while trying to move
the implementation details to xxx_int.cpp files. In this case, I found
out some issues and I just decided to leave the implementation in the
file tags.cpp.
7 years ago
Luis Diaz Mas
1371d677f9
Remove custom messages from enforce(xxx, Exiv2::kerCorruptedMetadata)
7 years ago
Luis Diaz Mas
c0a879aea4
Fix call to std::count, so that we count until the end of the array
7 years ago
Luis Diaz Mas
3ad0050469
Check validity of compressionFlag & compressionMethod
7 years ago
Luis Diaz Mas
2fb00c8a16
Analyze minimum needed number of null separators in PngChunk::parseTXTChunk
...
This commit fixes the heap-buffer-overflow in PngChunk::parseTXTChunk.
According to the specification:
http://www.libpng.org/pub/png/spec/1.2/PNG-Chunks.html
There must be 2 null separators when we start to analyze the language tag.
7 years ago
Luis Diaz Mas
a227fcda39
debug: Add new debug message to print the PNG chunk being processed
7 years ago
Luis Diaz Mas
b0696d4da6
style: Apply formatting guidelines to one-line ifs
7 years ago
Luis Diaz Mas
4922df6018
Replace '\n' by endl that flush content. Useful for debugging
7 years ago
Luis Díaz Más
c3629117d8
conan: Upgrade libcurl version
...
Thanks to this upgrade the cmake code that handles the CURL dependency
can be simplified. Now we can use the shared version of CURL in all the
platforms. However we will use for the moment the static version on Mac,
since we are having some issues with 'make tests'. Once those tests are
migrated to python we can also use the shared version there.
7 years ago
Daniel Zucchetto
4e55af8691
Support Canon M100
7 years ago
Dan Čermák
4b24e011dc
Free potentially allocated regexes from Params::evalGrep
...
In Params::evalGrep regcomp allocates some internal space for the regex objects,
which must be freed manually via regfree(). This was however only done when the
call to regcomp() failed and not on success. As the regexes are needed later,
they have to be deallocated by the destructor.
7 years ago
Dan Čermák
bf51a76e4e
[safe_op] Fix ODR violation in compiler builtin specializations
...
The compiler instrinsics are exposed via fully specialized template functions
which must not be defined twice (which they accidentally were). Declaring them
as inline fixes this issue.
7 years ago
Dan Čermák
1d7dd0892c
Fix errors not being passed by reference to error() function
...
- error was passed by value, but a new error message should be appended to it
=> error must be called by reference
- use default parameters of error() in http()
- rename variables to fix shadowing
7 years ago
Dan Čermák
571f97e277
Use __attribute__((format)) in clang too
7 years ago
Dan Čermák
222c65be63
Refactor Nikon case in bigtiffimage
...
- remove name shadowing
- user std::vector<> instead of raw array
7 years ago
Dan Čermák
4c4d568036
Enforce a valid Value (instead of assert)
7 years ago
Dan Čermák
e2b06856d8
Change type of size to uint64_t to avoid a useless cast
...
The variable size is only populated via getUint64_t => uint64_t is better suited
then unsigned long
7 years ago
Dan Čermák
316548d2de
Fix shadowing issues
...
- renamed variables that were shadowing a previously defined variables
7 years ago
Dan Čermák
5e36363138
Fix double promotion issues
7 years ago
Dan Čermák
bc58752d18
Remove useless casts
...
This commit removes only casts where type A is cast to the exactly same
type (and not to a platform dependent typedefs)
7 years ago
Dan Čermák
bb2019149a
[safe_op] Don't use overflow intrinsics in MSVC 2005
7 years ago
Luis Díaz Más
e32323d7c7
Simplify usage of strerror_r.
...
- Define STRERROR_R_CHAR_P properly on CMake and use it on futils.cpp
- We use now _GNU_SOURCE to determine which version of strerror_r to use
- strError only throws if ret==ERANGE
- Remove STRERROR_R_CHAR_P. It has been never used
- sort defines in config.h.cmake
- Remove EXV_HAVE_DECL_STRERROR_R that is not used anymore
- Remove EXV_HAVE_STRERROR. C++98 always will have it
7 years ago
Robin Mills
d22fff4834
Lens Recognition for Tamron SP AF 150-600mm F/5-6.3 VC USD G2 (A022) for Nikon
...
http://dev.exiv2.org/issues/1348
7 years ago
Luis Díaz Más
f86542e5f6
Remove EXV_HAVE_STRTOL
7 years ago
Luis Díaz Más
d55b2b1b65
Remove HAVE_STDLIB_H check and replace stdlib.h by cstdlib
7 years ago
Luis Díaz Más
aded1965c5
Remove EXV_HAVE_MEMSET
7 years ago
Luis Díaz Más
abd28a6a9e
Remove EXV_HAVE_STRCHR
7 years ago
Dan Čermák
fc60d97a29
Prevent passing of null-pointers to libc functions
7 years ago
Dan Čermák
2bf89f4854
Store pointers to Impl classes in auto_ptr
...
Pimpl class Impl is stored in raw pointers which are allocated on the heap in
the constructor. However, the constructor can throw an exception resulting in a
memory leak as the destructor is **not** invoked.
=> A smart pointer is however properly deallocated.
7 years ago
Luis Díaz Más
02aa13abf3
Install conan-dependencies DLLs into install/bin.
...
We also changed the way in which we copy the DLLs to the bin folder inside the build directory.
Before we were directly placing the conan-deps DLLs into the bin folder directly. Now we place
them into a directory called conanDlls, and from there we copy them to bin or install/bin
at build and install steps respectively.
7 years ago
Luis Díaz Más
fbd8e2669e
sort alphabetically the sources in src/CMakelists.txt
7 years ago
Luis Díaz Más
de5b9ebf89
Remove duplication of sources in src/CMakeLists.txt
7 years ago
Luis Díaz Más
ffbcaa2e6d
Fix MSVC warning C4267: conversion from 'size_t' to 'long'
7 years ago