[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[freetype2] master 2d1d60a 2/2: [base] Fix `NULL + offset' sanitizer war
From: |
Werner LEMBERG |
Subject: |
[freetype2] master 2d1d60a 2/2: [base] Fix `NULL + offset' sanitizer warnings (#57194). |
Date: |
Sat, 23 Nov 2019 04:42:32 -0500 (EST) |
branch: master
commit 2d1d60aac67e105e6b812aa4ed6448d277f985e2
Author: John Stracke <address@hidden>
Commit: Werner Lemberg <address@hidden>
[base] Fix `NULL + offset' sanitizer warnings (#57194).
* src/base/ftgloadr.c (FT_GlyphLoader_Adjust_Points,
FT_GlyphLoader_Adjust_Subglyphs): Use `FT_OFFSET'.
(FT_GlyphLoader_CreateExtra): Add short cut if some values are zero.
---
ChangeLog | 9 +++++++++
src/base/ftgloadr.c | 12 ++++++++----
2 files changed, 17 insertions(+), 4 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 23c3595..7019ab1 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2019-11-23 John Stracke <address@hidden>
+ Werner Lemberg <address@hidden>
+
+ [base] Fix `NULL + offset' sanitizer warnings (#57194).
+
+ * src/base/ftgloadr.c (FT_GlyphLoader_Adjust_Points,
+ FT_GlyphLoader_Adjust_Subglyphs): Use `FT_OFFSET'.
+ (FT_GlyphLoader_CreateExtra): Add short cut if some values are zero.
+
2019-11-23 Werner Lemberg <address@hidden>
* include/freetype/internal/ftmemory.h (FT_OFFSET): New macro.
diff --git a/src/base/ftgloadr.c b/src/base/ftgloadr.c
index bfeed46..c076dcc 100644
--- a/src/base/ftgloadr.c
+++ b/src/base/ftgloadr.c
@@ -146,9 +146,9 @@
FT_Outline* current = &loader->current.outline;
- current->points = base->points + base->n_points;
- current->tags = base->tags + base->n_points;
- current->contours = base->contours + base->n_contours;
+ current->points = FT_OFFSET( base->points, base->n_points );
+ current->tags = FT_OFFSET( base->tags, base->n_points );
+ current->contours = FT_OFFSET( base->contours, base->n_contours );
/* handle extra points table - if any */
if ( loader->use_extra )
@@ -169,6 +169,10 @@
FT_Memory memory = loader->memory;
+ if ( loader->max_points == 0 ||
+ loader->base.extra_points != NULL )
+ return FT_Err_Ok;
+
if ( !FT_NEW_ARRAY( loader->base.extra_points, 2 * loader->max_points ) )
{
loader->use_extra = 1;
@@ -189,7 +193,7 @@
FT_GlyphLoad current = &loader->current;
- current->subglyphs = base->subglyphs + base->num_subglyphs;
+ current->subglyphs = FT_OFFSET( base->subglyphs, base->num_subglyphs );
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [freetype2] master 2d1d60a 2/2: [base] Fix `NULL + offset' sanitizer warnings (#57194).,
Werner LEMBERG <=