summaryrefslogtreecommitdiffstats
path: root/cursor
diff options
context:
space:
mode:
authorTobias Stoeckmann <tobias@stoeckmann.org>2024-09-12 22:18:30 +0200
committerSimon Ser <contact@emersion.fr>2025-06-08 20:56:31 +0200
commit86cfd575cad02a999f3dc4f03ec576a353c1eda4 (patch)
treeb5f46650b9a1715a4a80f4b8a11d0c4ca9c851c4 /cursor
parentcursor: Gracefully handle huge cursor files (diff)
downloadwayland-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.c2
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)