# HG changeset patch # User Richard M. Stallman # Date 923464080 0 # Node ID 0e5c5bd9b99de201e1e3c1a0980b6a096d200389 # Parent 1dc1bccbb4ccb866a64331529a195a810bb88958 (x_to_w32_font): Provide sufficient buffer to encode_coding to avoid carryover. diff -r 1dc1bccbb4cc -r 0e5c5bd9b99d src/w32fns.c --- a/src/w32fns.c Wed Apr 07 05:40:54 1999 +0000 +++ b/src/w32fns.c Wed Apr 07 05:48:00 1999 +0000 @@ -5512,12 +5512,19 @@ if (fields > 0 && name[0] != '*') { + int bufsize; + unsigned char *buf; + setup_coding_system (Fcheck_coding_system (Vw32_system_coding_system), &coding); + bufsize = encoding_buffer_size (&coding, strlen (name)); + buf = (unsigned char *) alloca (bufsize); coding.mode |= CODING_MODE_LAST_BLOCK; - encode_coding (&coding, name, lplogfont->lfFaceName, - strlen (name), LF_FACESIZE-1); - lplogfont->lfFaceName[coding.produced] = 0; + encode_coding (&coding, name, buf, strlen (name), bufsize); + if (coding.produced >= LF_FACESIZE) + coding.produced = LF_FACESIZE - 1; + buf[coding.produced] = 0; + strcpy (lplogfont->lfFaceName, buf); } else {