diff --git a/src/hb-common.cc b/src/hb-common.cc index 88f7ed13b..cf24660f7 100644 --- a/src/hb-common.cc +++ b/src/hb-common.cc @@ -292,11 +292,13 @@ retry: hb_language_t hb_language_from_string (const char *str, int len) { + char strbuf[64]; + if (!str || !len || !*str) return HB_LANGUAGE_INVALID; - if (len >= 0) { - char strbuf[64]; + if (len >= 0) + { len = MIN (len, (int) sizeof (strbuf) - 1); str = (char *) memcpy (strbuf, str, len); strbuf[len] = '\0';