[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[freetype2] master e40e8b3: [gzip] Fix access of small compressed files
From: |
Werner LEMBERG |
Subject: |
[freetype2] master e40e8b3: [gzip] Fix access of small compressed files (#45937). |
Date: |
Sun, 13 Sep 2015 06:06:12 +0000 |
branch: master
commit e40e8b33a1e925c7f9db57bedac4014f57481232
Author: Werner Lemberg <address@hidden>
Commit: Werner Lemberg <address@hidden>
[gzip] Fix access of small compressed files (#45937).
* src/gzip/ftgzip.c (ft_gzip_stream_close): Avoid memory leak.
(ft_gzip_get_uncompressed_file): Correct byte order while reading
unsigned long value. Without this change, the whole optimization of
accessing small files in `FT_Stream_OpenGzip' is never executed! As
a consequence, access to PCF files in general (which are normally
small files) should be much improved now as originally intended.
---
ChangeLog | 12 ++++++++++++
src/gzip/ftgzip.c | 7 +++++--
2 files changed, 17 insertions(+), 2 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index c185380..3618f24 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2015-09-13 Werner Lemberg <address@hidden>
+
+ [gzip] Fix access of small compressed files (#45937).
+
+ * src/gzip/ftgzip.c (ft_gzip_stream_close): Avoid memory leak.
+
+ (ft_gzip_get_uncompressed_file): Correct byte order while reading
+ unsigned long value. Without this change, the whole optimization of
+ accessing small files in `FT_Stream_OpenGzip' is never executed! As
+ a consequence, access to PCF files in general (which are normally
+ small files) should be much improved now as originally intended.
+
2015-09-11 Werner Lemberg <address@hidden>
[psaux] Fix potential buffer overflow (#45922).
diff --git a/src/gzip/ftgzip.c b/src/gzip/ftgzip.c
index 879eb88..be9c122 100644
--- a/src/gzip/ftgzip.c
+++ b/src/gzip/ftgzip.c
@@ -557,6 +557,9 @@
stream->descriptor.pointer = NULL;
}
+
+ if ( !stream->read )
+ FT_FREE( stream->base );
}
@@ -584,7 +587,7 @@
old_pos = stream->pos;
if ( !FT_Stream_Seek( stream, stream->size - 4 ) )
{
- result = FT_Stream_ReadULong( stream, &error );
+ result = FT_Stream_ReadULongLE( stream, &error );
if ( error )
result = 0;
@@ -685,7 +688,7 @@
stream->size = 0x7FFFFFFFL; /* don't know the real size! */
stream->pos = 0;
- stream->base = 0;
+ stream->base = NULL;
stream->read = ft_gzip_stream_io;
stream->close = ft_gzip_stream_close;
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [freetype2] master e40e8b3: [gzip] Fix access of small compressed files (#45937).,
Werner LEMBERG <=