aboutsummaryrefslogtreecommitdiff
path: root/src/base/ftstream.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/base/ftstream.c')
-rw-r--r--src/base/ftstream.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/base/ftstream.c b/src/base/ftstream.c
index 05c563757..64826aceb 100644
--- a/src/base/ftstream.c
+++ b/src/base/ftstream.c
@@ -141,7 +141,9 @@
if ( read_bytes > count )
read_bytes = count;
- FT_MEM_COPY( buffer, stream->base + pos, read_bytes );
+ /* Allow "reading" zero bytes without UB even if buffer is NULL */
+ if ( count )
+ FT_MEM_COPY( buffer, stream->base + pos, read_bytes );
}
stream->pos = pos + read_bytes;
@@ -178,7 +180,9 @@
if ( read_bytes > count )
read_bytes = count;
- FT_MEM_COPY( buffer, stream->base + stream->pos, read_bytes );
+ /* Allow "reading" zero bytes without UB even if buffer is NULL */
+ if ( count )
+ FT_MEM_COPY( buffer, stream->base + stream->pos, read_bytes );
}
stream->pos += read_bytes;