diff options
| author | Tobias Stoeckmann <tobias@stoeckmann.org> | 2024-09-12 22:18:30 +0200 |
|---|---|---|
| committer | Simon Ser <contact@emersion.fr> | 2025-06-08 20:56:31 +0200 |
| commit | 86cfd575cad02a999f3dc4f03ec576a353c1eda4 (patch) | |
| tree | b5f46650b9a1715a4a80f4b8a11d0c4ca9c851c4 /cursor | |
| parent | cursor: Gracefully handle huge cursor files (diff) | |
| download | wayland-86cfd575cad02a999f3dc4f03ec576a353c1eda4.tar wayland-86cfd575cad02a999f3dc4f03ec576a353c1eda4.tar.gz wayland-86cfd575cad02a999f3dc4f03ec576a353c1eda4.tar.bz2 wayland-86cfd575cad02a999f3dc4f03ec576a353c1eda4.tar.lz wayland-86cfd575cad02a999f3dc4f03ec576a353c1eda4.tar.xz wayland-86cfd575cad02a999f3dc4f03ec576a353c1eda4.tar.zst wayland-86cfd575cad02a999f3dc4f03ec576a353c1eda4.zip | |
cursor: Ignore invalid cursor files
The header offset must not be smaller than file header length.
Ignore such invalid files.
Signed-off-by: Tobias Stoeckmann <tobias@stoeckmann.org>
(cherry picked from commit 2978fd701a6987668a4ff41f9434f6c0da705596)
Diffstat (limited to 'cursor')
| -rw-r--r-- | cursor/xcursor.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/cursor/xcursor.c b/cursor/xcursor.c index f7156cd..6e54cdb 100644 --- a/cursor/xcursor.c +++ b/cursor/xcursor.c @@ -259,6 +259,8 @@ xcursor_read_file_header(FILE *file) return NULL; if (!xcursor_read_uint(file, &head.ntoc)) return NULL; + if (head.header < XCURSOR_FILE_HEADER_LEN) + return NULL; skip = head.header - XCURSOR_FILE_HEADER_LEN; if (skip) if (fseek(file, skip, SEEK_CUR) == EOF) |
