summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlbert Astals Cid <aacid@kde.org>2020-04-08 23:52:43 +0200
committerAlbert Astals Cid <aacid@kde.org>2020-04-08 23:52:43 +0200
commit48735999ca27fca8f154aa15c078c4576ab64ae5 (patch)
tree8e3365911c85f0a0d90114484dbea1d0b5f75f0b
parentdd7168828cf07971adc8c24bab0f3b6e3d28e0c9 (diff)
Fix uninitialized memory read on malformed documents
-rw-r--r--libspectre/ps.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/libspectre/ps.c b/libspectre/ps.c
index 491eddc..4374272 100644
--- a/libspectre/ps.c
+++ b/libspectre/ps.c
@@ -2213,8 +2213,8 @@ ps_read_doseps(fd,doseps)
FileData fd;
DOSEPS *doseps;
{
- fread(doseps->id, 1, 4, FD_FILE);
- if (! ((doseps->id[0]==0xc5) && (doseps->id[1]==0xd0)
+ const size_t read = fread(doseps->id, 1, 4, FD_FILE);
+ if (! ((read == 4) && (doseps->id[0]==0xc5) && (doseps->id[1]==0xd0)
&& (doseps->id[2]==0xd3) && (doseps->id[3]==0xc6)) ) {
/* id is "EPSF" with bit 7 set */
ps_io_rewind(fd);