aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMattias EngdegÄrd2023-06-03 12:50:21 +0200
committerMattias EngdegÄrd2023-06-03 12:50:21 +0200
commitb5f17fe07c6624380ba8d0c7a400a6b89f225209 (patch)
tree9551bff2f27429ab50625720e5052555bdf0617e
parent970f94a2dd8bc4be4d71f1075421093ca6f87d28 (diff)
downloademacs-b5f17fe07c6624380ba8d0c7a400a6b89f225209.tar.gz
emacs-b5f17fe07c6624380ba8d0c7a400a6b89f225209.zip
* admin/unidata/emoji-zwj.awk: Avoid sprint buffer overflow
Some AWK implementations have a fixed buffer for sprintf; for mawk the default size is 8192 bytes. Hoist a string concatenation from a sprintf call to avoid running into that limit. See discussion at https://lists.gnu.org/archive/html/emacs-devel/2023-06/msg00090.html .
-rw-r--r--admin/unidata/emoji-zwj.awk2
1 files changed, 1 insertions, 1 deletions
diff --git a/admin/unidata/emoji-zwj.awk b/admin/unidata/emoji-zwj.awk
index f13f796bcac..4b648aa675e 100644
--- a/admin/unidata/emoji-zwj.awk
+++ b/admin/unidata/emoji-zwj.awk
@@ -106,7 +106,7 @@ END {
106 106
107 for (elt in ch) 107 for (elt in ch)
108 { 108 {
109 entries = sprintf("%s\n\"\\N{U+%s}\\N{U+FE0E}\"\n\"\\N{U+%s}\\N{U+FE0F}\"", vec[elt], elt, elt) 109 entries = vec[elt] sprintf("\n\"\\N{U+%s}\\N{U+FE0E}\"\n\"\\N{U+%s}\\N{U+FE0F}\"", elt, elt)
110 printf("(#x%s .\n,(eval-when-compile (regexp-opt\n'(\n%s\n))))\n", elt, entries) 110 printf("(#x%s .\n,(eval-when-compile (regexp-opt\n'(\n%s\n))))\n", elt, entries)
111 } 111 }
112 print "))" 112 print "))"