Commit Graph

4057 Commits

Author SHA1 Message Date
Kevin Backhouse
640b0fbf5d
Merge pull request #2346 from kevinbackhouse/fix-issue-2345
Fix buffer overflow in QuickTimeVideo::tagDecoder
2022-09-21 14:54:37 +01:00
Kevin Backhouse
56249bb1a0 Use getULong to read unsigned numbers. 2022-09-19 14:57:56 -07:00
Kevin Backhouse
d2253c91f5
Merge pull request #2348 from kevinbackhouse/fix-issue-2270
Don't allow zero width/height in WebPImage::inject_VP8X
2022-09-08 12:08:01 +01:00
Kevin Backhouse
bf151a17a3
Don't allow zero width/height in WebPImage::inject_VP8X 2022-09-05 23:43:35 +01:00
Kevin Backhouse
344764a7de
Fix clang-format error. 2022-09-05 17:53:46 +01:00
Kevin Backhouse
bf4f28b727
Avoid potential integer overflow. 2022-09-05 17:48:28 +01:00
Kevin Backhouse
d3651fdbd3
Credit to OSS-Fuzz: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=50901
Resize buf to avoid buffer overflow.
2022-09-05 17:33:43 +01:00
Christoph Hasse
337fe1854f fix(quicktimevideo) avoid out of bounds read, closes #2340 2022-08-31 16:32:11 +02: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
Peter
ccebe7936e
Update Nikon flash tags (#2274) 2022-08-28 10:02:18 +01:00
Christoph Hasse
e4adf388aa fix(quicktimevideo) cleanup and hardening as suggested in review by @kevinbackhouse 2022-08-24 17:39:42 +02:00
Christoph Hasse
0577057548 fix(quicktimevideo) silence windows warnings 2022-08-24 17:39:42 +02:00
Christoph Hasse
ce4b9f0ff9 fix(video) dont throw in isQTimeType 2022-08-24 17:39:42 +02:00
Christoph Hasse
3456f30988 fix(video) clang-format quicktimevideo 2022-08-24 17:39:42 +02:00
Christoph Hasse
393815ffb0 fix(video) filetype detection: handle video via quicktimevideo.cpp and other ftyp files in bmffimage 2022-08-24 17:39:42 +02:00
Christoph Hasse
0a948c6a7d feat(video) revive quicktime.{h,cpp} and adapt to codebase changes. 2022-08-24 17:39:42 +02:00
Christoph Hasse
30dbd13982 fix(video) bmffimage can not currently handle mp42 files so skip those 2022-08-24 17:39:42 +02:00
Rosen Penev
71dc04ebb1 misc sonarlint stuff
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2022-08-22 23:00:32 -07:00
Rosen Penev
89d7798f1d Add more MIME type mappings for TIFF-based raws
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2022-08-21 14:37:18 -07:00
Rosen Penev
2fa84f4bab remove using
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2022-08-21 14:37:18 -07:00
Rosen Penev
235b1e0d19 move structured bindings up
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2022-08-21 14:37:12 -07:00
Rosen Penev
88fcd234bb remove pointless x_default variable
Just replace it with the string.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2022-08-17 02:25:10 -07:00
Rosen Penev
b6c2062fae std::to_string conversions
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2022-08-17 02:25:10 -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
Kevin Backhouse
3ac7608282
Merge pull request #2321 from kevinbackhouse/fix-issue-2320
Fix integer overflow in printDegrees
2022-08-09 13:25:17 -04:00
Rosen Penev
e151daa0fc fix compilation without mmap and non win32
buf was refactored not to be a pointer.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2022-08-08 23:23:31 -07:00
Kevin Backhouse
fe4f56d979
Credit to OSS-Fuzz: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=49894
Check that `60 * rem` won't overflow.
2022-08-08 23:48:16 -04:00
Rosen Penev
fc840405cc revert std::function back to function pointers
The former has too much overhead. No point in it.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2022-08-08 19:24:47 -07:00
Rosen Penev
9aaeb893ee don't use w32 sockets for cygwin
Not needed.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2022-08-08 19:19:05 -07:00
Rosen Penev
350541f22a manual replacement of [0] with front()
Avoids implicit array decay.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2022-08-08 19:18:22 -07:00
Rosen Penev
5c90684441 simplify some defines
As far as I can tell, _WIN32 is defined for true Windows platforms.
Cygwin is a POSIX platform.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2022-08-08 15:31:05 -07:00
Rosen Penev
f3b572d211 fix iconv handling and windows
WIN32 as a define is wrong. _WIN32 is the correct one.

Which opens up the issue of the used functions and the wrong logic.
Changed the function logic to use if and elif, as done later in the
code.

Also changed all usages of WIN32 with _WIN32

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2022-08-08 15:31:05 -07:00
Rosen Penev
e41dd1d227 remove pointless UNUSED statement
Does not compile as it is no longer present.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2022-08-08 15:31:05 -07:00
Rosen Penev
2b8ca5a9d7 fix compilation with mingw iconv
The parameter there is const. Use the appropriate macro.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2022-08-08 15:31:05 -07:00
Miloš Komarčević
7fa6d7378f Add Nikon3.WhiteBalanceBias2 2022-08-05 13:51:30 -07:00
Rosen Penev
306424f589 remove c_str for fs stuff
fs::path is convertable to a string.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2022-08-05 01:01:25 -07:00
Rosen Penev
b8855fb3b5 misc sonarlint cleanups
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2022-08-05 01:01:25 -07:00
Rosen Penev
1602afef0a const conversions
These were not const.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2022-08-05 01:01:25 -07:00
Rosen Penev
5e20467e5c default init static variable
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2022-08-05 01:01:25 -07:00
Rosen Penev
d4f04296e4 remove explicit constructor
No need.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2022-08-05 01:01:25 -07:00
Rosen Penev
c64ed25c13 remove unused using
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2022-08-05 01:01:25 -07:00
Rosen Penev
7b9ba51c4e enum class conversion
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2022-08-05 01:01:25 -07:00
Rosen Penev
6e3db99755 simplify switch statement with returns
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2022-08-05 01:01:25 -07:00
Kevin Backhouse
2e8ce712ec Use emplace(). 2022-08-04 11:07:18 -07:00
Kevin Backhouse
166b5b834d Replace TiffTreeStruct with std::pair 2022-08-04 11:07:18 -07:00
Kevin Backhouse
3d38e11300 Remove unneeded constructor 2022-08-04 11:07:18 -07:00
Kevin Backhouse
67270c2b11 Use std::unordered_map for TiffTreeStruct lookup. 2022-08-04 11:07:18 -07:00
Kevin Backhouse
be1c00c916 Suggestions from @neheb and @piponazo 2022-08-04 11:05:35 -07:00
Kevin Backhouse
71dfff5a69 Use a switch 2022-08-04 11:05:35 -07:00
Kevin Backhouse
7ec15d247e Use std::unordered_set for tiffImageTags 2022-08-04 11:05:35 -07:00