Switch to vasprintf (big #398) dropping bogus free()