summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKim Woelders <kim@woelders.dk>2019-11-22 17:07:22 +0100
committerKim Woelders <kim@woelders.dk>2019-11-22 19:08:39 +0100
commit9b0ab1269787709692abcd423e86ab61130443c8 (patch)
tree91e5bc1fc523c7c845d2cb6a52abe73447c048ad
parent947b602ccadeb5fe466792ff9055f44a721197c1 (diff)
downloadimlib2-9b0ab1269787709692abcd423e86ab61130443c8.tar.gz
XPM loader: Correct signature check (avoid accessing unset data)
-rw-r--r--src/modules/loaders/loader_xpm.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/modules/loaders/loader_xpm.c b/src/modules/loaders/loader_xpm.c
index df23181..a732ac7 100644
--- a/src/modules/loaders/loader_xpm.c
+++ b/src/modules/loaders/loader_xpm.c
@@ -125,10 +125,11 @@ load(ImlibImage * im, ImlibProgressFunction progress, char progress_granularity,
if (!f)
return 0;
- if (fread(s, 1, sizeof(s) - 1, f) < 9)
+ len = fread(s, 1, sizeof(s) - 1, f);
+ if (len < 9)
goto quit;
- s[sizeof(s) - 1] = '\0';
+ s[len] = '\0';
if (!strstr(s, " XPM */"))
goto quit;