@@ -495,12 +495,14 @@ buffer = (FT_Byte *) malloc (length); if (!buffer) return nullptr; error = FT_Load_Sfnt_Table (ft_face, tag, 0, buffer, &length); - if (error) + if (error) { + free (buffer); return nullptr; + } return hb_blob_create ((const char *) buffer, length, HB_MEMORY_MODE_WRITABLE, buffer, free); }