[services] FT_Size_Reset_Func to return FT_Error

The `MetricsVariations` `FT_Size_Reset_Func` is currently defined to
return `void`, but the implementations return `FT_Error`. Even though
the pointers passed will be the same at runtime, calling a function
through a pointer of a different type from the original function pointer
type is undefined behavior. This may be caught at runtime by Control
Flow Integrity with something like clang's `cfi-icall`.

Issue: https://crbug.com/1433651

* include/freetype/internal/services/svmetric.h (FT_Size_Reset_Func):
return `FT_Error` instead of `void`.
gsoc-anurag-2023-docs-final
Ben Wagner 2 years ago
parent c4fe77c3f0
commit 8154d8e2be
  1. 2
      include/freetype/internal/services/svmetric.h

@ -77,7 +77,7 @@ FT_BEGIN_HEADER
typedef void
(*FT_Metrics_Adjust_Func)( FT_Face face );
typedef void
typedef FT_Error
(*FT_Size_Reset_Func)( FT_Size size );

Loading…
Cancel
Save