From: Benno Schulenberg Date: Fri, 6 Nov 2015 20:14:37 +0000 (+0000) Subject: Truncating an overlong hostname properly instead of bailing out X-Git-Tag: v2.5.0~71 X-Git-Url: https://git.wh0rd.org/?a=commitdiff_plain;h=4ede3b494f3767d841edd43f1fcf630803ee2a49;p=nano.git 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 --- 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...*/