aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorRichard M. Stallman1994-05-17 09:43:47 +0000
committerRichard M. Stallman1994-05-17 09:43:47 +0000
commitcf2043478213c421f70701038035496a8d74f46f (patch)
treefc5e3d36072910ccb7263255717c9c706ca227d7 /src
parentca7fc9331b3e6bc2e2bf5d9b2d623e2309965c45 (diff)
downloademacs-cf2043478213c421f70701038035496a8d74f46f.tar.gz
emacs-cf2043478213c421f70701038035496a8d74f46f.zip
(validate_x_resource_name): Don't let Vx_resource_name have invalid characters.
Diffstat (limited to 'src')
-rw-r--r--src/xfns.c21
1 files changed, 20 insertions, 1 deletions
diff --git a/src/xfns.c b/src/xfns.c
index c0313b20b01..5fc2ac650ca 100644
--- a/src/xfns.c
+++ b/src/xfns.c
@@ -1322,7 +1322,26 @@ x_set_vertical_scroll_bars (f, arg, oldval)
1322static void 1322static void
1323validate_x_resource_name () 1323validate_x_resource_name ()
1324{ 1324{
1325 if (! STRINGP (Vx_resource_name)) 1325 if (STRINGP (Vx_resource_name))
1326 {
1327 int len = XSTRING (Vx_resource_name)->size;
1328 unsigned char *p = XSTRING (Vx_resource_name)->data;
1329 int i;
1330
1331 /* Allow only letters, digits, - and _,
1332 because those are all that X allows. */
1333 for (i = 0; i < len; i++)
1334 {
1335 int c = p[i];
1336 if (! ((c >= 'a' && c <= 'z')
1337 || (c >= 'A' && c <= 'Z')
1338 || (c >= '0' && c <= '9')
1339 || c == '-' || c == '_'))
1340 goto fail;
1341 }
1342 }
1343 else
1344 fail:
1326 Vx_resource_name = make_string ("emacs", 5); 1345 Vx_resource_name = make_string ("emacs", 5);
1327} 1346}
1328 1347