diff options
author | Albert Astals Cid <aacid@kde.org> | 2020-04-08 23:52:43 +0200 |
---|---|---|
committer | Albert Astals Cid <aacid@kde.org> | 2020-04-08 23:52:43 +0200 |
commit | 48735999ca27fca8f154aa15c078c4576ab64ae5 (patch) | |
tree | 8e3365911c85f0a0d90114484dbea1d0b5f75f0b | |
parent | dd7168828cf07971adc8c24bab0f3b6e3d28e0c9 (diff) |
Fix uninitialized memory read on malformed documents
-rw-r--r-- | libspectre/ps.c | 4 |
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); |