[util] In --debug mode, duplicate font data
This has the effect that the font data will end up in a memory
section malloc()ed exactly to its size. This gives us better
valgrind detection of out-of-bounds access.
Previously, the font data was placed in a mmap()ed section or
GString-allocated area, which didn't have proper protections
at the end when running under valgrind.
diff --git a/util/options.cc b/util/options.cc
index 0005f5c..60f5268 100644
--- a/util/options.cc
+++ b/util/options.cc
@@ -538,6 +538,9 @@
}
}
+ if (debug)
+ mm = HB_MEMORY_MODE_DUPLICATE;
+
blob = hb_blob_create (font_data, len, mm, user_data, destroy);
}