John Cupitt
32e944349d
check frame bounds for gif load
...
giflib does not check this either :(
2019-08-27 14:08:12 +01:00
John Cupitt
d2ab993931
Merge branch '8.8'
2019-08-27 13:06:27 +01:00
John Cupitt
848df69a9c
better enum validation in vips load
2019-08-27 13:05:58 +01:00
John Cupitt
5cce83a294
check image bounds for GIF load
...
It seems giflib does no checking of image dimensions at all, not even
height == 0.
2019-08-27 13:04:28 +01:00
John Cupitt
077fdf158e
Merge branch '8.8'
2019-08-27 12:52:10 +01:00
John Cupitt
ce684dd008
fetch map after DGifGetImageDesc()
...
Earlier refactoring broke GIF map fetch.
2019-08-27 12:50:52 +01:00
John Cupitt
0895d120d8
better enum validation in vips load
2019-08-27 10:49:37 +01:00
John Cupitt
3e89944bf9
remove a pointless optimisation from rad2float
...
Some old rad code could cause a read beyond end of buffer.
2019-08-27 09:23:16 +01:00
John Cupitt
c8ff970476
make jpeg buffer free safer
...
possible race in free
2019-08-27 09:14:59 +01:00
John Cupitt
f6cc2a9055
revise gifload delays array handling
...
so pages and delay_length can't get out of sync, even with corrupt GIFs
2019-08-26 11:35:26 +01:00
John Cupitt
3aed554fdb
Merge branch '8.8'
2019-08-26 11:09:53 +01:00
John Cupitt
25e4577361
relax GIF parse rules again
...
lots of GIFs are very badly structured :(
2019-08-26 10:54:45 +01:00
John Cupitt
5749d60425
add a test case for /0 in exif read
2019-08-25 11:31:21 +01:00
John Cupitt
8c1377ebff
Merge branch '8.8'
2019-08-25 11:30:14 +01:00
John Cupitt
db6e6a0076
catch /0 in exif read
2019-08-25 11:29:37 +01:00
John Cupitt
c7b402c0d6
Merge branch '8.8'
2019-08-24 18:51:11 +01:00
John Cupitt
6c525e144b
handle eof better for buffer GIF
...
Add the new eof handling to the memory reader.
2019-08-24 18:49:56 +01:00
John Cupitt
9941490d9e
add fuzz file for gif loop
2019-08-24 17:24:59 +01:00
John Cupitt
0dda54b1b5
merge
2019-08-24 17:17:45 +01:00
John Cupitt
691b5584d4
Merge branch '8.8'
2019-08-24 17:16:48 +01:00
John Cupitt
1ac96313cc
note change in gifload.c
2019-08-24 17:16:28 +01:00
John Cupitt
23d0d5603d
Merge branch '8.8'
2019-08-24 17:15:45 +01:00
John Cupitt
4691260540
better feof() handling in gif load
...
Relaxing the read error rules made looping possible .. make sure we
always stop explicitly on eof.
2019-08-24 17:14:10 +01:00
John Cupitt
77de39320a
Merge branch '8.8'
2019-08-24 11:21:48 +01:00
John Cupitt
038409093f
clip coding and interpretation on image read
...
They could be out of bounds enums. This used not to matter, but we use
them more now, so out of bounds values can cause coredumps.
2019-08-24 11:20:45 +01:00
John Cupitt
1b57c6d066
Merge branch '8.8'
2019-08-23 15:43:12 +01:00
John Cupitt
4b677fb16a
make GIF parse less strict
...
Some GIFs don't follow the standard very closely. Let them through.
See https://github.com/libvips/libvips/issues/1404
2019-08-23 15:40:48 +01:00
John Cupitt
54ce3513fd
add some corpus ascii files
...
some sample images for the file loader
2019-08-23 12:50:33 +01:00
John Cupitt
1de458556a
try adding a file fuzzer
...
oss-fuzz normally fuzzes with memory buffers, but a lot of the libvips
loadres, especially CSV and PPM, only work from the filesystem.
This fuzzer writes the oss-fuzz buffer to the FS, then fuzzes that.
2019-08-23 12:43:59 +01:00
John Cupitt
81c92242d8
relax HEIC threshold
...
libheic versions change rounding behaviour
2019-08-21 17:42:25 +01:00
John Cupitt
19a80e4efb
Merge branch '8.8'
2019-08-21 17:37:16 +01:00
John Cupitt
b5e8e99746
fix a read-one-byte-beyond issue in jpeg load
...
libvips could harmlessly read beyond the end of a string with a crafted jpg
file
2019-08-21 17:17:54 +01:00
John Cupitt
8f28fa625e
restore switch/case test
...
now that relational const is fixed up
2019-08-21 16:51:01 +01:00
John Cupitt
fd25f13a2d
add a test for the fix
2019-08-21 16:47:13 +01:00
John Cupitt
0b3ece5b42
new constants code now passes all tests
2019-08-21 16:36:18 +01:00
John Cupitt
ed2054dbbc
revise arithmetic with const
...
there's a problem with out of bounds values, for example:
vips relational_const k2.jpg x.v equal 1000
actually finds pixels == 255, since 1000 is saturated converted to 255
before the test starts.
This patch reworks arithmetic against const values to fix this.
2019-08-21 10:35:48 +01:00
John Cupitt
1de2947d51
Merge branch 'master' of github.com:libvips/libvips
2019-08-19 23:31:43 +01:00
John Cupitt
db49e82bda
fix typo
2019-08-19 23:31:25 +01:00
John Cupitt
41efe3fb2d
Merge pull request #1399 from lovell/webp-verify-dimensions
...
WebP loader: verify upper limit on dimensions in header
2019-08-19 23:07:38 +01:00
John Cupitt
593b6f0d93
better /0 protection
2019-08-19 23:05:59 +01:00
Lovell Fuller
8d028420d5
WebP loader: verify upper limit on dimensions in header
2019-08-19 19:33:52 +01:00
John Cupitt
3614c4f4ef
Merge pull request #1398 from omira-sch/unify-fuzz-corpus
...
move fuzzing corpus into a single dir
2019-08-19 19:19:02 +01:00
Oscar Mira
a3466f305c
move fuzzing corpus into a single dir
2019-08-19 19:54:56 +02:00
John Cupitt
c8296ecd15
Merge pull request #1397 from omira-sch/more-fuzzers
...
add fuzzers for vips_smartcrop and vip_mosaic
2019-08-19 18:21:58 +01:00
Oscar Mira
16a5cac2e3
add fuzzers for vips_smartcrop and vip_mosaic
2019-08-19 18:51:37 +02:00
John Cupitt
d70c431961
relax HEIC threshold
...
argh rounding with different lib versions
2019-08-19 16:44:32 +01:00
John Cupitt
2d0c21279a
add tests
2019-08-19 16:27:44 +01:00
John Cupitt
daf578ca42
seems to work
...
now a switch/case pair
2019-08-18 16:35:28 +01:00
John Cupitt
1734284a9a
Merge branch 'master' into add-mapimage
2019-08-17 14:55:45 +01:00
John Cupitt
fc17a79767
split into switch/case
...
A neater solution! In Python it should be something like:
merge = pyvips.Image.switch([tests]).case([cases])
and should be efficient
2019-08-17 14:51:55 +01:00