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>
diff --git a/src/hb-font.cc b/src/hb-font.cc
index a08766f..e900bd3 100644
--- a/src/hb-font.cc
+++ b/src/hb-font.cc
@@ -1596,7 +1596,8 @@
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;