From: Eli Zaretskii Date: Sat, 24 Apr 2021 13:01:19 +0000 (+0300) Subject: Improve detection of pdumper file and *.eln files X-Git-Tag: emacs-28.0.90~2727^2 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=fa65c044f2ebe666467166075c1507a8d0e1347f;p=emacs.git Improve detection of pdumper file and *.eln files * src/emacs.c (load_pdump_find_executable): Resolve symlinks even if argv[0] includes leading directories. (Bug#46790) --- diff --git a/src/emacs.c b/src/emacs.c index 792f690797d..9157cd84a99 100644 --- a/src/emacs.c +++ b/src/emacs.c @@ -746,10 +746,18 @@ load_pdump_find_executable (char const *argv0, ptrdiff_t *candidate_size) char *candidate = NULL; /* If the executable name contains a slash, we have some kind of - path already, so just copy it. */ + path already, so just resolve symlinks and return the result. */ eassert (argv0); if (strchr (argv0, DIRECTORY_SEP)) { + char *real_name = realpath (argv0, NULL); + + if (real_name) + { + *candidate_size = strlen (real_name) + 1; + return real_name; + } + char *val = xstrdup (argv0); *candidate_size = strlen (val) + 1; return val;