hb-font: Fix a potentially undefined use of memcmp() (#413)

While it’s fine to call memcmp(x, 0, 0) in practice, the C99 standard
explicitly says that this is not allowed: even if the length is zero,
the pointer arguments must be valid.

http://stackoverflow.com/a/16363034

Coverity ID: 141178

Signed-off-by: Philip Withnall <withnall@endlessm.com>
This commit is contained in:
Philip Withnall 2017-02-08 21:56:57 +00:00 committed by Behdad Esfahbod
parent 09594df1ae
commit ffde3c9f9e
1 changed files with 2 additions and 1 deletions

View File

@ -1596,7 +1596,8 @@ _hb_font_adopt_var_coords_normalized (hb_font_t *font,
unsigned int coords_length)
{
if (font->num_coords == coords_length &&
0 == memcmp (font->coords, coords, coords_length * sizeof (coords[0])))
(coords_length == 0 ||
0 == memcmp (font->coords, coords, coords_length * sizeof (coords[0]))))
{
free (coords);
return;