From 4ede3b494f3767d841edd43f1fcf630803ee2a49 Mon Sep 17 00:00:00 2001 From: Benno Schulenberg Date: Fri, 6 Nov 2015 20:14:37 +0000 Subject: [PATCH] Truncating an overlong hostname properly instead of bailing out when writing a lock file. git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@5391 35c25a1d-7b9e-4130-9fde-d3aeb78583b8 --- ChangeLog | 5 +++++ src/files.c | 8 ++++++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 1ce315ec..08d21b2f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2015-11-06 Benno Schulenberg + * src/files.c (write_lockfile): Don't bail out when the hostname is + overlong, but instead truncate it properly and continue. This fixes + Ubuntu bug #1509081 reported by Sam Reed. + 2015-11-02 Benno Schulenberg * src/nano.h: Delete an unused type definition. * src/nano.h: Improve several comments. diff --git a/src/files.c b/src/files.c index cc840897..25c5aaac 100644 --- a/src/files.c +++ b/src/files.c @@ -136,8 +136,12 @@ int write_lockfile(const char *lockfilename, const char *origfilename, bool modi mypid = getpid(); if (gethostname(myhostname, 31) < 0) { - statusbar(_("Couldn't determine hostname for lock file: %s"), strerror(errno)); - goto free_and_fail; + if (errno == ENAMETOOLONG) + myhostname[31] = '\0'; + else { + statusbar(_("Couldn't determine hostname for lock file: %s"), strerror(errno)); + goto free_and_fail; + } } /* Check if the lock exists before we try to delete it...*/ -- 2.39.5