| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Regression introduced in e3adcf0c86dbd56b01d0d55f29a95065cbd95eb8.
|
|
|
|
|
|
|
|
| |
as the background.
This was a regression introduced in 5212d69f2362f9b68ccf9385277e5c4a744b2187.
Fixes https://gitlab.gnome.org/GNOME/gdk-pixbuf/-/issues/162
|
| |
|
| |
|
|\
| |
| |
| |
| | |
Rough pass at making the static analysis tool happy
See merge request GNOME/gdk-pixbuf!89
|
| |
| |
| |
| | |
We especially want the indentation width to be 8 spaces, not 2.
|
| |
| |
| |
| | |
We must handle the error path, where the out argument isn't set.
|
| | |
|
|/
|
|
|
| |
Iterate over the key/value arrays once, using GArray to store the text
chunks after validating the keys.
|
|\
| |
| |
| |
| | |
ci: Add analysis stage to the pipeline
See merge request GNOME/gdk-pixbuf!88
|
|/
|
|
| |
Run a static analysis and an ASan jobs on the gdk-pixbuf code base.
|
|\
| |
| |
| |
| | |
Ci update
See merge request GNOME/gdk-pixbuf!87
|
| |
| |
| |
| | |
Use it to generate the release artefacts.
|
| | |
|
| |
| |
| |
| | |
Make at least an attempt at a consistent coding style.
|
| | |
|
| |
| |
| |
| | |
Use common environment variables for the various jobs.
|
| | |
|
| |
| |
| |
| | |
Use the version from GTK, which is much more ergonomic.
|
| |
| |
| |
| |
| | |
It's still a free-form field, but we should at least adhere to a machine
parseable standard.
|
| |
| |
| |
| | |
The 0.48.1 base version is positively *ancient*.
|
| | |
|
|/
|
|
|
| |
Rebase on Fedora 33 (current stable) and add a bunch of components for
future CI jobs.
|
| |
|
| |
|
| |
|
| |
|
|\
| |
| |
| |
| |
| |
| | |
gif: Fix bug where the local colormap is not dropped.
Closes #156
See merge request GNOME/gdk-pixbuf!79
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This was seen in a GIF file that had a local colormap set on frame 6, but not
on frame 7. Instead of reverting to the global colormap we continued to render
with the last local colormap.
This was a regression introduced in 4e7b5345d2fc8f0d1dee93d8ba9ab805bc95d42f.
Fixes https://gitlab.gnome.org/GNOME/gdk-pixbuf/-/issues/156
|
| | |
|
|/ |
|
|
|
|
|
|
|
|
| |
This is expected by the loader API which trips over an assertion otherwise.
Partially loaded images still work while images that are too truncated
fail gracefully.
Fixes #111.
|
|
|
|
| |
This is more consistent with other modules like GTK.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Libjasper is not really maintained any more, and has been dropped by
various Linux distributions over the years.
GdkPixbuf has not enabled the JPEG2000 loader by default in many years,
relying on downstream distributors to do so if they also shipped
libjasper. This means that it's unlikely anybody has relied on GdkPixbuf
to load a JPEG2000 image for the past 3 to 5 years, if at all.
The only other option for loading JPEG2000 images is to use OpenJPEG,
and for that there is an out of tree GdkPixbuf module available:
https://notabug.org/necklace/jp2-pixbuf-loader
Fixes: #152, #137
|
|
|
|
| |
We use `gtk_doc`, now.
|
|
|
|
|
|
|
|
|
|
|
| |
This patch significantly improves performance
of gtksourceview-2.10.5 full-screen redraw
on a 4K display with an alpha channel.
Divisions by the common value 0xff0000 are converted into
multiplications by an optimizing C compiler.
For other values, 3 divisions are reduced to 1 division,
3 multiplications and some float-to-int conversions.
|
| |
|
|
|
|
|
|
|
| |
And deprecate the `docs` one.
The `gtk_doc` option is shared across GNOME modules, so we should
conform to the established practice.
|
|
|
|
|
|
|
| |
The relative links in the functions documentation stanza refer to the
current section; this means that, in order to refer to an anchor
specified in a section the symbols must be in the same section within
the same file.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Pixel data in XPM files consists of color characters.
XPM allows up to 31 characters per pixel (cpp). If the file defines
a width larger than G_MAXINT / cpp, the calculated memory required
to parse a single line (wbytes) leads to a signed integer overflow.
On common systems, a signed integer overflow works as expected on
a bit level. Properly crafted files can overflow the variable
wbytes in a way that it is positive again, which leads to a
"successful" parsing of the XPM file. The pixel values itself are
not assigned by gdk-pixbuf code, therefore leaking raw memory
returned by malloc.
This might leak sensitive information through pixel values,
depending on the actual application.
Proof of Concept:
/* XPM */
static char * poc_xpm[] = {
"138547333 1 1 31",
"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx c None",
"---------------------------"};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Parsing an XBM file with pixel bits larger than int leads to undefined
behavior (signed integer overflow).
Since only the lowest 8 bits are used, this patched code produces the
same images as before.
Also do not increment gotone but set it to a value. If more than
INT_MAX values are parsed, this int would overflow as well.
Proof of Concept (compile with -fsanitize=undefined or -ftrapv):
static unsigned char poc_bits[] = {
0xFFFFFFFF };
|
|
|
|
|
| |
Avoid declaring variables in a for loop initialization so that the code
continues to build on older compilers.
|
|
|
|
|
|
| |
mmap does not return NULL on failure, but rather MAP_FAILED.
https://gitlab.gnome.org/GNOME/gdk-pixbuf/-/issues/158
|
|
|
|
| |
powershell instead of cmd, win2016 instead of 2012r2
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
On FreeBSD, macros such as _POSIX_C_SOURCE and _XOPEN_SOURCE are used as
a means to disable features instead of enabling features. Therefore,
setting a macro to a value which is too small can make required features
become unavailable.
Commit f57bec3322921631c322b7d151fb129125b9d80d sets _XOPEN_SOURCE to
500 and causes compilation errors on FreeBSD because of missing C99
support. FreeBSD libc automatically sets _POSIX_C_SOURCE to 199506 when
_XOPEN_SOURCE is set to 500. Since 1995 < 1999, this also means all C99
functions are disabled. To fix it, use a value matching the current
definition of _POSIX_C_SOURCE=200809, which is _XOPEN_SOURCE=700.
|
|
|
|
|
|
| |
The get_static_image() method for gifs is leaking an iterator and since
the iterator has a reference to the animation, this results in all
animation frames being leaked.
|
|
|
|
|
|
| |
Avoid overflows by using the checked multiplication macro for gsize.
Fixes: #132
|