Commit Graph

153 Commits

Author SHA1 Message Date
Rosen Penev
024e026bbb clang: small fixes
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2023-03-22 06:11:10 -07:00
Rosen Penev
22b12012a6 more SonarLint cleanups
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2023-03-20 08:01:22 -07:00
Rosen Penev
1f21164085 gcc: remove redundant struct
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2023-03-20 08:01:22 -07:00
Rosen Penev
725875497b SonarLint cleanups 2023-03-03 19:35:42 -08:00
Rosen Penev
7f5430a7d4 use lower()
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2023-02-11 10:44:20 -08:00
Rosen Penev
376638259d namespace enforce.hpp functions to Internal
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2023-01-29 11:14:59 -08:00
Rosen Penev
7fd7ee62a3 std::find to find template
std::find in C++20 can use ranges, which is equivalent here. Less error
prone.

Namespace is properly to avoid any conflicts with std::find or others

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2023-01-27 07:47:18 -08:00
Kevin Backhouse
a8a35345c8 Credit to OSS-Fuzz: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=51241
Fix bounds checking bug.
2022-09-28 21:23:38 -07:00
Kevin Backhouse
7a92e1bd0f Credit to OSS-Fuzz: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=50315
Don't allow INT_MIN (0x80000000) because it can cause a UBSAN failure in std::gcd().
2022-08-28 23:15:55 -07:00
Rosen Penev
10a62b2350 replace custom gcd function with std
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2022-08-16 05:58:09 -07:00
Rosen Penev
e74feff4d8 strcmp to == conversions
Does the same thing.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2022-08-03 01:36:19 -07:00
Kevin Backhouse
4410f46214 Change the return type of the 2Data functions to size_t. 2022-08-01 16:28:36 -07:00
Kevin Backhouse
3db7598e29 Don't use long in floatToRationalCast 2022-07-26 23:12:15 -07:00
Rosen Penev
84555f1ad5 clang-tidy: no else after return
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2022-07-05 15:29:42 -07:00
Kevin Backhouse
b3f2ab5988
Fix some "signed shift" warnings. 2022-07-05 18:34:57 +01:00
Rosen Penev
cf963e9e4d clang-tidy: C casts to C++
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2022-05-21 17:58:10 -07: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
4a4a8c544c Throwing when trying to access TooFar elements in DataBuf 2022-04-14 10:40:57 +02:00
Rosen Penev
fdfcde5e4b structured binding conversions
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2022-04-09 10:49:02 +02:00
Luis Díaz Más
ae4df71233 Remove DataBuf::copyBytes and use std::copy instead 2022-03-23 17:17:29 +01:00
Luis Díaz Más
b05573fadc Remove most of the asserts from codebase 2022-03-23 16:55:18 +01:00
Luis Díaz Más
30bf563f4d Update .clang-format file & apply clang-format to whole project 2022-03-16 22:30:53 +01:00
Rosen Penev
b2b6d834ba
some std::array conversions (#2148)
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2022-03-15 10:17:06 +01:00
Luis Diaz
7576a2757b More size_t for sizes 2022-03-14 11:50:42 +01:00
Luis Díaz Más
c115d4daf7
Merge pull request #2131 from Exiv2/mainCleanups
Include what you use + more SPDX identifiers + few other cleanups
2022-03-11 21:02:45 +01:00
Rosen Penev
8dadcdf72a manual nullptr removals
unique_ptr has a bool overload. It's also easier to reason about.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2022-03-09 17:12:29 -08:00
Rosen Penev
b6bdbf5574 clang-tidy: don't use else after return/throw
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2022-03-07 14:42:33 -08:00
Luis Díaz Más
b3a216310a Removing unused headers thanks to IWYU 2022-03-07 22:25:51 +01:00
Luis Díaz Más
2834fa5f05 Use [[maybe_unused]] 2022-03-07 22:25:51 +01:00
Luis Díaz Más
5508e6f466 hexdump to size_t 2022-03-07 22:25:51 +01:00
Rosen Penev
04bacdedd6 clang-tidy: use auto
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2022-03-04 15:54:05 -08:00
Luis Díaz Más
b17828b454
Use SPDX for licenses (#2122)
* Use SPDX identifier in header files

* Use SPDX identifier in rest of source files

* Fix usage of SPDX for files with 2 licenses

* Add global license file

* Fix compilation
2022-03-04 11:44:39 +01:00
Luis Díaz Más
b9f9d041ea Several transformations on DataBuf + migration to size_t
- Provide begin/end iterators to DataBuf and simplify code
- Adapt test output after last changes
- Replacing long by size_t in value.hpp
- Use size_t in some Photoshop functions
- Remove some static_casts
2022-02-27 09:41:47 +01:00
Luis Díaz Más
5d627433fc Remove useless DataBuf::clear() 2022-02-27 09:36:46 +01:00
Luis Díaz Más
3a749e6861 No need to define copy & move ctors 2022-02-27 09:36:46 +01:00
Luis Díaz Más
2bacff0f5c Simplify DataBuf 2022-02-27 09:36:46 +01:00
Luis Díaz Más
f1e04ee866 Replace DataBuf internal buffer with std::vector 2022-02-27 09:36:46 +01:00
Luis Díaz Más
7933ff401d Remove dead code around EXV_UNICODE_PATH 2022-02-13 22:49:32 +01:00
Kevin Backhouse
2a3dd2def9
Replace Value::toLong with Value::toInt64. (#2062)
* Replace Value::toLong with Value::toInt64.

* Fix compiler warning.

* Fix compile error.

* Fix declaration of canonEv

* Fix compiler warning.

* Fix compiler warning.

* Use int64_t for offsets in tiffcomposite_int.cpp

* Fix compiler warning.

* Fix compiler warnings.

* Fix compiler warning.

* Fix compiler warning.

* Fix compiler warning.

* Fix compiler warning.

* Remove static_cast<long int> in TagDetails initializer.
2022-02-12 21:16:18 +00:00
Luis Díaz Más
524fad42e1 Remove useless ops 2022-02-05 11:08:13 +01:00
Kevin Backhouse
29f7d0ccf0
Remove DataBuf::release() which is no longer used. 2021-12-24 12:35:46 +00:00
Kevin Backhouse
81cfc162c1
Use std::move to transfer ownership of DataBufs. 2021-10-10 23:56:00 +01:00
Kevin Backhouse
9ff72e5ca5
Make offset=0 the default parameter. 2021-08-30 12:41:08 +01:00
Kevin Backhouse
c9d0cf3643
Make fields of DataBuf private. 2021-08-29 15:43:10 +01:00
Rosen Penev
f3fcffd6e6 remove most usages of std::make_pair
Better alternatives exist with C++11.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-08-17 19:11:28 -07:00
Kevin Backhouse
7c2ab1d7de
Check that the float is within the range of an int before casting. 2021-08-04 15:21:31 +01:00