summaryrefslogtreecommitdiff
path: root/src/xrdb.c
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2018-02-06 15:25:45 -0800
committerPaul Eggert <eggert@cs.ucla.edu>2018-02-08 09:31:20 -0800
commitc2727e3c40bcafdc7c32b3f02b78e6cbe87e1647 (patch)
treebb0b585b6862cc8f2f154806a3391c536150b2af /src/xrdb.c
parentdc08490ac7547403e306b1ba2c00a158933854ff (diff)
downloademacs-c2727e3c40bcafdc7c32b3f02b78e6cbe87e1647.tar.gz
Fix crashes when run with --no-build-details
* src/xrdb.c (get_environ_db): * src/xterm.c (same_x_server, x_term_init): Don’t assume Fsystem_name returns a string.
Diffstat (limited to 'src/xrdb.c')
-rw-r--r--src/xrdb.c19
1 files changed, 11 insertions, 8 deletions
diff --git a/src/xrdb.c b/src/xrdb.c
index b55c0f9011e..836c147947a 100644
--- a/src/xrdb.c
+++ b/src/xrdb.c
@@ -376,15 +376,18 @@ get_environ_db (void)
if (!p)
{
- /* Use ~/.Xdefaults-HOSTNAME. */
- char *home = gethomedir ();
- ptrdiff_t homelen = strlen (home);
Lisp_Object system_name = Fsystem_name ();
- ptrdiff_t filenamesize = (homelen + sizeof xdefaults
- + 1 + SBYTES (system_name));
- p = filename = xrealloc (home, filenamesize);
- lispstpcpy (stpcpy (stpcpy (filename + homelen, xdefaults), "-"),
- system_name);
+ if (STRINGP (system_name))
+ {
+ /* Use ~/.Xdefaults-HOSTNAME. */
+ char *home = gethomedir ();
+ ptrdiff_t homelen = strlen (home);
+ ptrdiff_t filenamesize = (homelen + sizeof xdefaults
+ + 1 + SBYTES (system_name));
+ p = filename = xrealloc (home, filenamesize);
+ lispstpcpy (stpcpy (stpcpy (filename + homelen, xdefaults), "-"),
+ system_name);
+ }
}
db = XrmGetFileDatabase (p);