Commit Graph

3918 Commits

Author SHA1 Message Date
Miloš Komarčević e00422ae52 Account for header bytes for Exif and XMP boxes 2022-05-19 10:25:13 +02:00
Rosen Penev 0dcd8605c9 fix mmap compilation
CI doesn't catch all cases failing.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2022-04-29 10:49:14 +02:00
Luis Díaz Más c9bdd6ed94 Merge pull request #2209 from Exiv2/mainTODOs
Improvements around TODO comments
2022-04-29 09:04:46 +02:00
Rosen Penev d59e1433c0 replace readlink with std::filesystem
Simpler.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2022-04-25 07:44:44 +02:00
Rosen Penev bd1758c3c5 remove some double pointer stuff
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2022-04-18 15:35:06 -07:00
Rosen Penev 65c5b772c9 fix misplaced const
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2022-04-18 14:23:58 -07:00
Rosen Penev c9c2a1847b remove const std::function
std::move is used.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2022-04-18 13:59:35 -07:00
Rosen Penev a86bc386da reference conversions
There's no nullptr here.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2022-04-18 13:53:14 -07:00
Rosen Penev 48f848f5bb clang-tidy: remove const params in decls
Found with readability-avoid-const-params-in-decls

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2022-04-18 13:53:13 -07:00
Rosen Penev 2e721a716e std::function conversions
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2022-04-18 13:02:32 -07:00
Rosen Penev a8061e7ee9 clang-tidy: default member init
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2022-04-14 18:01:55 -07:00
Rosen Penev 151b54ab3e remove default constructor
This is rule of zero.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2022-04-14 18:00:54 -07:00
Luis Díaz Más 2b74cc885d Revert some boilerplate which is not needed 2022-04-14 13:22:45 +02:00
Luis Díaz Más d4ffcb9497 utils are in Internal namespace 2022-04-14 10:41:07 +02:00
Luis Díaz Más cc79051b79 Move 1-liner to header file 2022-04-14 10:41:06 +02:00
Luis Díaz Más ee855c0e71 Reduce amount of string transformations 2022-04-14 10:41:02 +02:00
Luis Díaz Más d5742f449b Move string helpers to utils 2022-04-14 10:41:01 +02:00
Luis Díaz Más 1a3e93856b More tests for rational convertions 2022-04-14 10:41:00 +02:00
Luis Díaz Más 8da71e7133 Test parseUint32 and fix it when number is out of limits 2022-04-14 10:41:00 +02:00
Luis Díaz Más 331924612e Remove duplication by using templates 2022-04-14 10:40:59 +02:00
Luis Díaz Más 2b91b5daf9 More tests for DataBuf read/write functions 2022-04-14 10:40:59 +02:00
Luis Díaz Más 6964f5f9f2 DataBuf::c_data() returns nullptr when empty + avoid duplication
After the previous commit, I realized that std::vector::data() also
returns nullptr when the vector is empty. So I decided to emulate this
behavior in DataBuf::c_data().

Anyways, the changes done in the previous commit are valid and allow us
to avoid some processing when the DataBuf is empty.
2022-04-14 10:40:58 +02:00
Luis Díaz Más c3d0100d48 Fixing bad usages of DataBuf (when it is empty) 2022-04-14 10:40:58 +02:00
Luis Díaz Más 4a4a8c544c Throwing when trying to access TooFar elements in DataBuf 2022-04-14 10:40:57 +02:00
Luis Díaz Más 941017d281 Fix issues on ARM builds (#2205)
* Specify base class initialization in Copy Constructor

* Fix printing of uint64_t variable in ARM 32bits

Use cinttypes

* Fix alignment issues on ARM 32 bits

* tests: add assertion with custom message
2022-04-13 15:22:22 +02:00
Rosen Penev 6203ded16f add constexpr constructor
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2022-04-13 08:02:30 +02:00
Rosen Penev 8d2e1926ca remove unused class declarations
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2022-04-12 08:47:54 +02:00
Luis Díaz Más 25c47cd1cf Merge pull request #2197 from Exiv2/mainRefactoringFormats
Refactoring in JpegImage and Photoshop classes
2022-04-10 13:23:33 +02:00
Luis Díaz Más f07c88de5d Use .front() to avoid warning from static analysis 2022-04-10 10:55:14 +02:00
Luis Díaz Más 4d99c2aca1 Use std::pair to return multiple values 2022-04-10 10:55:13 +02:00
Luis Díaz Más 4ee9c35799 Include missing iostream header in photoshop.cpp 2022-04-10 10:55:13 +02:00
Luis Díaz Más f942ba89bd Move Photoshopb class to internal namespace 2022-04-10 10:55:10 +02:00
Luis Diaz 047f6b733e Change logic to determine if segment has size
Note that the failing tests that had to be adapted were bad formed files
from FUZZERs. We should not consider invalid markers like 0x00 or 0x52
but only undefined APPn markers.
2022-04-10 10:53:36 +02:00
Luis Diaz 400632f27b Factor out function readSegmentSize() 2022-04-10 10:53:35 +02:00
Luis Diaz 24d2a7b8f0 JpegBase::markerHasLength moved to implementation details 2022-04-10 10:53:35 +02:00
Luis Diaz 23fe743d4d Move private constants to .cpp 2022-04-10 10:53:34 +02:00
Luis Diaz b00e460d76 Move static functions to anonymous namespace 2022-04-10 10:53:34 +02:00
Rosen Penev c997b09a81 algorithm conversions
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2022-04-10 01:40:39 -07:00
Rosen Penev d789968e90 replace malloc/free with new/delete
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2022-04-10 01:40:39 -07:00
Rosen Penev a20ace20fc clang-tidy: manual clang-tidy fixes
clang-tidy has issues applying these.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2022-04-10 01:40:39 -07:00
Rosen Penev ae66ecec0d clang-tidy: use nullptr
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2022-04-10 01:40:39 -07:00
Rosen Penev 49bf7e1387 clang-tidy: use delete
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2022-04-10 01:40:39 -07:00
Rosen Penev e654b2931c clang-tidy: replace throw() with noexcept
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2022-04-10 01:40:39 -07:00
Rosen Penev 1f05448d0e clang-tidy: default member init
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2022-04-10 01:40:39 -07:00
Rosen Penev 0d971e98e4 remove some unique_ptrs
They're not really used as pointers.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2022-04-10 01:40:34 -07:00
Rosen Penev 89b8d4ea4e try to actually fix null pointer deref
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2022-04-09 12:20:18 -07:00
Rosen Penev 25ef5d7e77 replace ret variable with return statement
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2022-04-09 12:19:38 -07:00
Rosen Penev 7bc9861301 clang-tidy: use strcmmp properly
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2022-04-09 12:19:38 -07:00
Rosen Penev 7a826ac529 clang-tidy: add parentheses to macros
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2022-04-09 12:19:38 -07:00
Rosen Penev cacb54eaba use auto
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2022-04-09 12:19:38 -07:00