freetype-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Git][freetype/freetype][master] [smooth] Avoid integer overflow.


From: Werner Lemberg (@wl)
Subject: [Git][freetype/freetype][master] [smooth] Avoid integer overflow.
Date: Sat, 07 Aug 2021 15:17:18 +0000

Werner Lemberg pushed to branch master at FreeType / FreeType

Commits:

1 changed file:

Changes:

  • src/smooth/ftgrays.c
    ... ... @@ -149,14 +149,8 @@
    149 149
     #define FT_INT_MAX    INT_MAX
    
    150 150
     #define FT_ULONG_MAX  ULONG_MAX
    
    151 151
     
    
    152
    -#define ADD_LONG( a, b )                                    \
    
    153
    -          (long)( (unsigned long)(a) + (unsigned long)(b) )
    
    154
    -#define SUB_LONG( a, b )                                    \
    
    155
    -          (long)( (unsigned long)(a) - (unsigned long)(b) )
    
    156
    -#define MUL_LONG( a, b )                                    \
    
    157
    -          (long)( (unsigned long)(a) * (unsigned long)(b) )
    
    158
    -#define NEG_LONG( a )                                       \
    
    159
    -          (long)( -(unsigned long)(a) )
    
    152
    +#define ADD_INT( a, b )                                  \
    
    153
    +          (int)( (unsigned int)(a) + (unsigned int)(b) )
    
    160 154
     
    
    161 155
     
    
    162 156
     #define ft_memset   memset
    
    ... ... @@ -530,8 +524,9 @@ typedef ptrdiff_t FT_PtrDist;
    530 524
     #define CELL_IS_NULL( cell )  ( (cell)->x == CELL_MAX_X_VALUE )
    
    531 525
     
    
    532 526
     
    
    533
    -#define FT_INTEGRATE( ras, a, b )                                     \
    
    534
    -           ras.cell->cover += (a), ras.cell->area += (a) * (TArea)(b)
    
    527
    +#define FT_INTEGRATE( ras, a, b )                                       \
    
    528
    +          ras.cell->cover = ADD_INT( ras.cell->cover, a ),              \
    
    529
    +          ras.cell->area  = ADD_INT( ras.cell->area, (a) * (TArea)(b) )
    
    535 530
     
    
    536 531
     
    
    537 532
       typedef struct gray_TRaster_
    


  • reply via email to

    [Prev in Thread] Current Thread [Next in Thread]