]> git.eshelyaron.com Git - emacs.git/commitdiff
Avoid crashes rescaling fonts with long names
authorPo Lu <luangruo@yahoo.com>
Tue, 22 Aug 2023 09:34:41 +0000 (17:34 +0800)
committerPo Lu <luangruo@yahoo.com>
Tue, 22 Aug 2023 09:34:41 +0000 (17:34 +0800)
* src/font.c (font_rescale_ratio): Check NAME is not nil before
matching it against a regexp.

src/font.c

index 7f8ddc4dc34d865bcc4a2cb6b2a40d23cfcbe23f..ff81fefcad0a14fa364d5e9880b73913e041cd5e 100644 (file)
@@ -1879,7 +1879,11 @@ font_rescale_ratio (Lisp_Object font_entity)
            {
              if (NILP (name))
                name = Ffont_xlfd_name (font_entity, Qnil);
-             if (fast_string_match_ignore_case (XCAR (elt), name) >= 0)
+
+             /* N.B. that `name' is set to nil if the resulting XLFD
+                is too long.  */
+             if (!NILP (name)
+                 && fast_string_match_ignore_case (XCAR (elt), name) >= 0)
                return XFLOAT_DATA (XCDR (elt));
            }
          else if (FONT_SPEC_P (XCAR (elt)))