| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
See https://developer.gnome.org/hig/stable/typography.html
https://bugzilla.gnome.org/show_bug.cgi?id=772216
|
|
|
|
|
|
|
| |
The blocklen needs to be at least header sized to be valid, otherwise we
can underflow picture data or mask data lengths.
https://bugzilla.gnome.org/show_bug.cgi?id=779016
|
|
|
|
|
|
|
| |
Use g_uint_checked_mul() to avoid overflowing the guint used for buffer
size calculation.
https://bugzilla.gnome.org/show_bug.cgi?id=779020
|
|
|
|
| |
Introduced by error in commit fa472afe93
|
|
|
|
|
|
|
|
| |
This time, we want to make sure to avoid accessing JPEG internals when
an error has already been set, in which case the file is irrecoverable.
Reproducer in pixbuf-randomly-modified, with file valid.2.jpeg and
seed R02S3d1f92e3076dbe16d2840cc408188f81
|
|
|
|
|
| |
A follow-up from commit b99e04f, to avoid trying to access pixel data in
a pixbuf that doesn't exist any more.
|
|
|
|
|
|
| |
As per https://wiki.gnome.org/Initiatives/GnomeGoals/MesonPorting
https://bugzilla.gnome.org/show_bug.cgi?id=790995
|
|
|
|
|
|
| |
As per https://wiki.gnome.org/Initiatives/GnomeGoals/MesonPorting
https://bugzilla.gnome.org/show_bug.cgi?id=790995
|
|
|
|
|
|
|
|
|
|
|
| |
When loading incremental inputs through a GdkPixbufLoader, we didn't
have any code replicating the stdio_fill_input_buffer() hack to finish
up a file.
Adding those markers makes libjpeg think that the file was at least
closed properly, and will attempt decoding.
https://bugzilla.gnome.org/show_bug.cgi?id=753605
|
|
|
|
|
|
| |
To avoid using context->cinfo all the time.
https://bugzilla.gnome.org/show_bug.cgi?id=753605
|
|
|
|
|
|
| |
Reference links use "[title][id]" not "[title](id)", that's for URLs.
https://bugzilla.gnome.org/show_bug.cgi?id=765282
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently, code_last_byte is set only after it has been used, i.e.
context->block_buf[0] = context->block_buf[context->code_last_byte - 2];
comes before anything has touched context->code_last_byte yet.
Except for the initialisation.
context->code_last_byte is set a few lines later, though.
And nowhere else, except for the initialisation which sets it
to 0. That will inevitably lead to context->block_buf[-2] which is
undefined behaviour.
We hence set the code_last_byte to 2 in order to not make that
array index invalid.
https://bugzilla.gnome.org/show_bug.cgi?id=778584
|
|
|
|
|
|
|
|
| |
io-gif.c:509:44: runtime error: index -2 out of bounds for type 'guchar [280]'
io-gif.c:510:44: runtime error: index -1 out of bounds for type 'guchar [280]'
io-gif-animation.c:422:68: runtime error: left shift of 249 by 24 places cannot be represented in type 'int'
https://bugzilla.gnome.org/show_bug.cgi?id=778584
|
|
|
|
|
|
|
|
|
| |
It seems that a pathological gif file can cause a negative array index
to be read. UBSAN reported this:
io-gif.c:509:44: runtime error: index -2 out of bounds for type 'guchar [280]'
io-gif.c:510:44: runtime error: index -1 out of bounds for type 'guchar [280]'
https://bugzilla.gnome.org/show_bug.cgi?id=778584
|
|
|
|
|
|
|
|
|
|
| |
Which relies on undefined behaviour. Instead of checking for an
overflowed integer after the fact, check whether the addition would
be possible at all.
Fixes: CVE-2017-6312
https://bugzilla.gnome.org/show_bug.cgi?id=779012
|
|
|
|
|
|
|
|
| |
If libtiff is compiled with WIN32-IO (which is the default,
unless it's built for Cygwin), it works with HANDLEs, not
C runtime FDs.
https://bugzilla.gnome.org/show_bug.cgi?id=788388
|
|
|
|
|
|
|
| |
Add nullable return introspection annotation for
gdk_pixbuf_scale_simple() as per existing API documentation.
https://bugzilla.gnome.org/show_bug.cgi?id=789934
|
| |
|
|
|
|
|
|
|
| |
The new GTK4 clipboard input streams don't like threads very much. So
don't use them.
https://bugzilla.gnome.org/show_bug.cgi?id=790584
|
|
|
|
|
|
|
|
|
| |
Fail quickly when the dimensions would create an image that's bigger
than MAXINT bytes long.
See https://bugzilla.gnome.org/show_bug.cgi?id=765094
https://bugzilla.gnome.org/show_bug.cgi?id=785973
|
|
|
|
| |
WARNING: Passed invalid keyword argument "source" in gdk-pixbuf/meson.build line 243.
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=786342
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There is currently a GDI+ image loader that is within the GDK-Pixbuf
codebase, which can serve as a basis for improvements to it or for
moving on to more modern Windows APIs/Frameworks such as Windows
Imaging Component (WIC).
Provide a Windows-only option to build it with Meson, which will mean
that when it is used the TIFF and JPEG loaders will not require libtiff
and libjpeg-turbo/IJG JPEG, but will use the GDI+ component of Windows
to deal with these images, along with BMP, GIF, ICO and images. This
will also enable the support of EMF and WMF images. For building this
set of loaders into the GDK-Pixbuf DLL, pass in 'windows' as a part of
the loaders passed into builtin_loaders, or pass in 'all' to
builtin_loaders in conjunction with this option.
This also means that by using this set of GDI+ loaders, we cannot use
any of the loaders (either in-house or those using the various
opensource libraries) for these formats, so these loaders will be
disabled as a result, since the MIME types, extensions and signature
of these formats are the same in the GDI+ loaders with their respective
counterparts that are otherwise built.
Note that PNG support still requires libpng, and JPEG2000 support still
requires libjasper, and in its current state, the TIFF and JPEG and ICO
(and hence ANI) support that are done by the opensource libraries and/or
the in-house loaders are still preferred over the GDI+-based ones since
in the current state they tend to work better, so this is provided as an
option.
https://bugzilla.gnome.org/show_bug.cgi?id=785767
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In order for MSVC builds that utilize libjasper to work, we need to
ensure that JAS_WIN_MSVC_BUILD is defined when we check for
jasper/jasper.h, and that same macro is defined when we compile
io-jasper.c on MSVC.
We also need to look for libjasper.lib on MSVC in case that jasper.lib
cannot be found, as the Visual Studio projects for libjasper produces
libjasper.lib upon build.
https://bugzilla.gnome.org/show_bug?id=785767
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
With -Wconversion gcc complains with the following warning:
io-gif.c: In function ‘gif_read’:
io-gif.c:246:20: warning: conversion to ‘guint {aka unsigned int}’ from
‘size_t {aka long unsigned int}’ may alter its value [-Wconversion]
context->ptr += len;
^
io-gif.c:258:28: warning: conversion to ‘guint {aka unsigned int}’ from
‘size_t {aka long unsigned int}’ may alter its value [-Wconversion]
context->amount_needed = len - (context->size - context->ptr);
This change simply changes their types to match the rhs.
https://bugzilla.gnome.org/show_bug.cgi?id=786261
|
|
|
|
|
|
|
|
|
|
| |
To ease packaging of the built binaries, provide an 'all' shorthand for
making all the buildable loaders built into the main GDK-Pixbuf library,
so that we do not need to distribute them as well, and makes it easier
so that one will not have to try to find and enter all the names of the
loaders that are shipped with GDK-Pixbuf.
https://bugzilla.gnome.org/show_bug.cgi?id=785767
|
|
|
|
|
|
|
|
| |
Like the autotools and Visual Studio builds, include the .rc file in the
main GDK-Pixbuf DLL so that people can determine its version info
more easily. Determine current - age as we did in the autotools builds.
https://bugzilla.gnome.org/show_bug.cgi?id=785767
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We need to ensure that the loaders that are to be built into the main
GDK-Pixbuf library is built as follows:
-The individual loader sources are built with the corresponding
INCLUDE_xxx macro defined.
-The GDK-Pixbuf library itself must be built with all of the INCLUDE_xxx
macros defined for building the individual loaders that we are building
into the main GDK-Pixbuf library
There is also a typo for the macro to make the loaders built into the
GDK-Pixbuf library, so correct that as well (-DINCLUDED_xxx ->
-DINCLUDE_xxx).
https://bugzilla.gnome.org/show_bug.cgi?id=785767
|
|
|
|
|
|
|
|
|
|
| |
Reproducible builds are good: Sort the output by module name so that
same input always leads to same output.
This should also make gdk-pixbuf-print-mime-types output and
gdk-pixbuf-thumbnailer.thumbnailer reproducible.
https://bugzilla.gnome.org/show_bug.cgi?id=783592
|
|
|
|
|
|
|
|
|
|
| |
The arguments were provided the wrong way round: the variable number
should always be the nmemb argument, rather than loading a single
element of variable size.
Signed-off-by: Philip Withnall <withnall@endlessm.com>
https://bugzilla.gnome.org/show_bug.cgi?id=785696
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=785964
|
|
|
|
| |
This makes it easier to find them and reference them.
|
|
|
|
|
|
|
|
|
|
|
| |
The code is correct (the line buffer is set when DecodeHeader() returns
successfully with a non-zero-length line), but that’s not at all obvious
from the code, and is tripping Coverity up. Add an assertion to make it
clearer.
Coverity ID: 1400057
https://bugzilla.gnome.org/show_bug.cgi?id=778943
|
|
|
|
|
| |
We want to be able to run the gdk-pixbuf tests after installing them in
a known system location, especially when running CI.
|
| |
|
|
|
|
|
|
|
| |
Just like the Autotools build does.
We also provide a simple escape hatch for platforms where building
introspection data is too complicated at the moment.
|
|
|
|
|
| |
The name is `gdk_pixbuf-2.0`, not `gdk-pixbuf-2.0`, I guess for
historical reasons.
|
|
|
|
| |
It was lost in the port.
|
|
|
|
|
|
| |
Commit 591f959adb0d1f85a869dfc14b9b21a0de8417eb moved to including the
header, instead of including the source. This means that we need to
build the source, in order to get the marshallers.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Meson is a better build system than Autotools that has gotten traction
in the GNOME community.
The build is pretty much equivalent between Autotools and Meson, but at
this point it needs further testing to verify complete matching
behaviour.
The GDI-plus loaders are not currently built, as that will require
access to a platform I don't have in order to test them.
Additionally, the API reference is not being generated yet in Meson.
|
|
|
|
|
| |
Do not include the source, otherwise we're going to compile symbols
twice.
|
|
|
|
|
|
|
|
|
| |
Avoid allocating nearly 6 gigs of data when parsing the CVE-2015-4491
test only to free it when we've calculated that the rowstride * height
would overflow by calculating the rowstride before doing the allocation,
using the new gdk_pixbuf_calculate_rowstride() helper.
https://bugzilla.gnome.org/show_bug.cgi?id=765094
|
|
|
|
|
|
| |
To calculate the rowstride without allocating memory!
https://bugzilla.gnome.org/show_bug.cgi?id=765094
|
|
|
|
|
|
|
|
| |
If we don't even read enough data to fill the header, return an
error. This doesn't cover everything that could go wrong with
the ICO incremental loader, but this is a good first throw.
https://bugzilla.gnome.org/show_bug.cgi?id=778204
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=783538
|
|
|
|
|
|
|
|
|
| |
The rowstride is stored as an int, and is an int in the public API.
Making it an unsigned int for those calculations would increase
the limit, which would obviously cause problems when the calculated
value ends up between G_MAXUINT and G_MAXINT in the positives.
https://bugzilla.gnome.org/show_bug.cgi?id=765094
|
|
|
|
|
|
|
|
|
|
| |
Commit c2a40a92fe3df4111ed9da51fe3368c079b86926 restricts the jpeg
loader to files with 3 or 4 color components.
Also allow JCS_GRAYSCALE images with only 1 color component.
These grayscale images are supported through explode_gray_into_buf.
https://bugzilla.gnome.org/show_bug.cgi?id=785171
|
|
|
|
|
|
|
| |
The rowstride *could* be negative if the pixbuf is invalid. Check that
it is valid before using it to sanity check the image's dimensions.
See https://bugzilla.gnome.org/show_bug.cgi?id=776694
|
|
|
|
|
|
|
| |
Despite the inherited comment, commit 99508c7 sorted the icons by
increasing instead of decreasing quality.
https://bugzilla.gnome.org/show_bug.cgi?id=785447
|
|
|
|
|
|
|
| |
If an icon entry is broken, skip over it, but report the breakage if we
could not find a single valid entry.
https://bugzilla.gnome.org/show_bug.cgi?id=776040
|