diff options
author | Paul Eggert <eggert@cs.ucla.edu> | 2018-02-06 15:25:45 -0800 |
---|---|---|
committer | Paul Eggert <eggert@cs.ucla.edu> | 2018-02-08 09:31:20 -0800 |
commit | c2727e3c40bcafdc7c32b3f02b78e6cbe87e1647 (patch) | |
tree | bb0b585b6862cc8f2f154806a3391c536150b2af /src/xrdb.c | |
parent | dc08490ac7547403e306b1ba2c00a158933854ff (diff) | |
download | emacs-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.c | 19 |
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); |