From unknown Sun Jun 22 20:55:42 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#17010 <17010@debbugs.gnu.org> To: bug#17010 <17010@debbugs.gnu.org> Subject: Status: Bug#739752: coreutils: ln segfaults when run with --relative and an empty target Reply-To: bug#17010 <17010@debbugs.gnu.org> Date: Mon, 23 Jun 2025 03:55:42 +0000 retitle 17010 Bug#739752: coreutils: ln segfaults when run with --relative = and an empty target reassign 17010 coreutils submitter 17010 Jim Meyering severity 17010 normal thanks From debbugs-submit-bounces@debbugs.gnu.org Thu Mar 13 21:43:06 2014 Received: (at submit) by debbugs.gnu.org; 14 Mar 2014 01:43:06 +0000 Received: from localhost ([127.0.0.1]:36279 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WOH9N-0003tN-Ez for submit@debbugs.gnu.org; Thu, 13 Mar 2014 21:43:06 -0400 Received: from eggs.gnu.org ([208.118.235.92]:50323) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WOH9K-0003tC-UH for submit@debbugs.gnu.org; Thu, 13 Mar 2014 21:43:03 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WOH9J-000222-Bg for submit@debbugs.gnu.org; Thu, 13 Mar 2014 21:43:02 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,FREEMAIL_FROM, T_DKIM_INVALID autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:43186) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WOH9J-00021y-8D for submit@debbugs.gnu.org; Thu, 13 Mar 2014 21:43:01 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:52027) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WOH9I-0005ow-5X for bug-coreutils@gnu.org; Thu, 13 Mar 2014 21:43:01 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WOH9G-000219-Ek for bug-coreutils@gnu.org; Thu, 13 Mar 2014 21:43:00 -0400 Received: from mail-pd0-x233.google.com ([2607:f8b0:400e:c02::233]:47229) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WOH9G-00020v-4Z for bug-coreutils@gnu.org; Thu, 13 Mar 2014 21:42:58 -0400 Received: by mail-pd0-f179.google.com with SMTP id w10so1863056pde.10 for ; Thu, 13 Mar 2014 18:42:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc:content-type; bh=B2AACA6uIyzraoXWoWHpcQpx/7/sZzDkJrZCzClp9co=; b=ZLMeBk6lgd746hwXdlXTxsgKOnvgHsta6hFmBjvhyDI1VFqNyKlZ5Te3ulfo13fJ0/ VWwIk1WJu/6qtofnSd2PktVyq4/Nb4VoS3pfH10xGH08TyKlCi5n9gCChhiweWdFEiTm dVBdzStNAnq3c2j+0PwuL7HWm2WALkoqOVx+KZMxsbFXlW8jBw+RIrCagNYTyRxsM0YW a7UZh/BT3nXVdW+48bV8hDPz9dcT/MM61ZkBxJK90vxafNG5FtB17itpPzn7K06sRu9p NHy3/7QxyR5EXV4HU3UkkCY1MPG8PRPo6/0xRsYm1GP9XHCjqNvop5Tk4IdJQuXpkwzg 8LWA== X-Received: by 10.68.189.33 with SMTP id gf1mr5876036pbc.111.1394761377217; Thu, 13 Mar 2014 18:42:57 -0700 (PDT) MIME-Version: 1.0 Received: by 10.68.201.231 with HTTP; Thu, 13 Mar 2014 18:42:30 -0700 (PDT) In-Reply-To: <20140222095709.8331.43112.reportbug@nyx> References: <20140222095709.8331.43112.reportbug@nyx> From: Jim Meyering Date: Thu, 13 Mar 2014 18:42:30 -0700 X-Google-Sender-Auth: KKFENO1rM2JhUTAZIIs8bwo-_Fw Message-ID: Subject: Re: Bug#739752: coreutils: ln segfaults when run with --relative and an empty target To: Erik Bernstein , 739752@bugs.debian.org, bug-coreutils@gnu.org Content-Type: multipart/mixed; boundary=e89a8ff1bfa66f9aff04f48730e7 X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -4.0 (----) X-Debbugs-Envelope-To: submit Cc: Debian Bug Tracking System X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -4.0 (----) --e89a8ff1bfa66f9aff04f48730e7 Content-Type: text/plain; charset=ISO-8859-1 On Sat, Feb 22, 2014 at 1:57 AM, Erik Bernstein wrote: > Package: coreutils > Version: 8.21-1 > Severity: normal > > Hi, > > when ln is run with --relative --symbolic and and empty string as the > target, it ungracefully dies with a segmentation fault. The memory > violation appears to happen in src/relpath.c:38 when the two input paths > are checked for leading slashes: > > if ((path1[1] == '/') != (path2[1] == '/')) > > How to reproduce: > [1] Open a terminal > [2] run: ln -sr '' foobar > > Result: segmentation fault ln -sr '' foobar > Expected result: Some kind of error message ... Thank you for the bug report! That also affected the very latest code in git. Here is a patch: --e89a8ff1bfa66f9aff04f48730e7 Content-Type: text/plain; charset=US-ASCII; name="k.txt" Content-Disposition: attachment; filename="k.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_hsqpu9vb0 RnJvbSBhNmQyZGI4YjZkZmUxNTM0NGFiYTRhZWZlOTU0NWViM2E0ODc2ZDQ1IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKaW0gTWV5ZXJpbmcgPG1leWVyaW5nQGZiLmNvbT4KRGF0ZTog VGh1LCAxMyBNYXIgMjAxNCAxNzowNTowNCAtMDcwMApTdWJqZWN0OiBbUEFUQ0hdIGxuOiB3aXRo IC1zciwgZG9uJ3Qgc2VnZmF1bHQgZm9yIGEgVEFSR0VUIG9mICcnCgpQcmlvciB0byB0aGlzIGNo YW5nZSwgImxuIC1zciAnJyBGIiB3b3VsZCBzZWdmYXVsdCwgYXR0ZW1wdGluZwp0byByZWFkIHBh dGgyWzFdIGluIHJlbHBhdGguYydzIHBhdGhfY29tbW9uX3ByZWZpeCBmdW5jdGlvbi4KVGhpcyBw cm9ibGVtIGFyaXNlcyB3aGVuZXZlciBjYW5vbmljYWxpemVfZmlsZW5hbWVfbW9kZSByZXR1cm5z Ck5VTEwuCiogc3JjL2xuLmMgKGNvbnZlcnRfYWJzX3JlbCk6IENhbGwgcmVscGF0aCBvbmx5IHdo ZW4KYm90aCBjYW5vbmljYWxpemVfZmlsZW5hbWVfbW9kZSBjYWxscyByZXR1cm4gbm9uLU5VTEwu CiogdGVzdHMvbG4vcmVsYXRpdmUuc2g6IEFkZCBhIHRlc3QgdG8gdHJpZ2dlciB0aGlzIGZhaWx1 cmUuCiogVEhBTktTLmluOiBMaXN0IHJlcG9ydGVyJ3MgbmFtZS9hZGRyZXNzLgoqIE5FV1MgKEJ1 ZyBmaXhlcyk6IE1lbnRpb24gaXQuClJlcG9ydGVkIGJ5IEVyaWsgQmVybnN0ZWluIGluIDczOTc1 MkBidWdzLmRlYmlhbi5vcmcuCi0tLQogTkVXUyAgICAgICAgICAgICAgICAgfCAgMiArKwogVEhB TktTLmluICAgICAgICAgICAgfCAgMSArCiBzcmMvbG4uYyAgICAgICAgICAgICB8IDE2ICsrKysr KysrKystLS0tLS0KIHRlc3RzL2xuL3JlbGF0aXZlLnNoIHwgIDUgKysrKysKIDQgZmlsZXMgY2hh bmdlZCwgMTggaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9ORVdT IGIvTkVXUwppbmRleCA2Mjk2NmIyLi5iM2FkNjVjIDEwMDY0NAotLS0gYS9ORVdTCisrKyBiL05F V1MKQEAgLTI1LDYgKzI1LDggQEAgR05VIGNvcmV1dGlscyBORVdTICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgLSotIG91dGxpbmUgLSotCiAgIGl0IHdvdWxkIGRpc3BsYXkgYW4g ZXJyb3IsIHJlcXVpcmluZyAtLW5vLWRlcmVmZXJlbmNlIHRvIGF2b2lkIHRoZSBpc3N1ZS4KICAg W2J1ZyBpbnRyb2R1Y2VkIGluIGNvcmV1dGlscy01LjMuMF0KCisgIGxuIC1zciAnJyBGIG5vIGxv bmdlciBzZWdmYXVsdHM6IG5vdyBpdCBmYWlscyB3aXRoIHRoZSBleHBlY3RlZCBkaWFnbm9zdGlj CisKICAgc2h1ZiAtLXJlcGVhdCBubyBsb25nZXIgZHVtcHMgY29yZSBpZiB0aGUgaW5wdXQgaXMg ZW1wdHkuCiAgIFtidWcgaW50cm9kdWNlZCB3aXRoIHRoZSAtLXJlcGVhdCBmZWF0dXJlIGluIGNv cmV1dGlscy04LjIyXQoKZGlmZiAtLWdpdCBhL1RIQU5LUy5pbiBiL1RIQU5LUy5pbgppbmRleCA1 NjFkMThjLi4yNjcwMjY1IDEwMDY0NAotLS0gYS9USEFOS1MuaW4KKysrIGIvVEhBTktTLmluCkBA IC0xOTMsNiArMTkzLDcgQEAgRXJpYyBHLiBNaWxsZXIgICAgICAgICAgICAgICAgICAgICAgZWdt MkBqcHMubmV0CiBFcmljIFBlbWVudGUgICAgICAgICAgICAgICAgICAgICAgICBwZW1lbnRlQG5v cnRocGFyay5lZHUKIEVyaWMgUy4gUmF5bW9uZCAgICAgICAgICAgICAgICAgICAgIGVzckBzbmFy ay50aHlyc3VzLmNvbQogRXJpayBCZW5uZXR0ICAgICAgICAgICAgICAgICAgICAgICAgYmVubmV0 dEBjdm8ub25ld29ybGQuY29tCitFcmlrIEJlcm5zdGVpbiAgICAgICAgICAgICAgICAgICAgICBl cmlrQGZzY2tpbmcub3JnCiBFcmlrIENvcnJ5ICAgICAgICAgICAgICAgICAgICAgICAgICBlcmlr QGtyb2V0ZTIuZnJlaW5ldC5kZQogRmVsaXggTGVlICAgICAgICAgICAgICAgICAgICAgICAgICAg ZmxlZUB0ZWxlcG9ydC5jb20KIEZlbGl4IFJhdWNoIFZhbGVudGkgICAgICAgICAgICAgICAgIGZy YXVjaEBjc2UudW5zdy5lZHUuYXUKZGlmZiAtLWdpdCBhL3NyYy9sbi5jIGIvc3JjL2xuLmMKaW5k ZXggYWFiOWNmMi4uNjcyNjY5OSAxMDA2NDQKLS0tIGEvc3JjL2xuLmMKKysrIGIvc3JjL2xuLmMK QEAgLTE0OSwxMyArMTQ5LDE3IEBAIGNvbnZlcnRfYWJzX3JlbCAoY29uc3QgY2hhciAqZnJvbSwg Y29uc3QgY2hhciAqdGFyZ2V0KQogICBjaGFyICpyZWFsZGVzdCA9IGNhbm9uaWNhbGl6ZV9maWxl bmFtZV9tb2RlICh0YXJnZXRkaXIsIENBTl9NSVNTSU5HKTsKICAgY2hhciAqcmVhbGZyb20gPSBj YW5vbmljYWxpemVfZmlsZW5hbWVfbW9kZSAoZnJvbSwgQ0FOX01JU1NJTkcpOwoKLSAgLyogV3Jp dGUgdG8gYSBQQVRIX01BWCBidWZmZXIuICAqLwotICBjaGFyICpyZWxhdGl2ZV9mcm9tID0geG1h bGxvYyAoUEFUSF9NQVgpOwotCi0gIGlmICghcmVscGF0aCAocmVhbGZyb20sIHJlYWxkZXN0LCBy ZWxhdGl2ZV9mcm9tLCBQQVRIX01BWCkpCisgIGNoYXIgKnJlbGF0aXZlX2Zyb20gPSBOVUxMOwor ICBpZiAocmVhbGRlc3QgJiYgcmVhbGZyb20pCiAgICAgewotICAgICAgZnJlZSAocmVsYXRpdmVf ZnJvbSk7Ci0gICAgICByZWxhdGl2ZV9mcm9tID0gTlVMTDsKKyAgICAgIC8qIFdyaXRlIHRvIGEg UEFUSF9NQVggYnVmZmVyLiAgKi8KKyAgICAgIHJlbGF0aXZlX2Zyb20gPSB4bWFsbG9jIChQQVRI X01BWCk7CisKKyAgICAgIGlmICghcmVscGF0aCAocmVhbGZyb20sIHJlYWxkZXN0LCByZWxhdGl2 ZV9mcm9tLCBQQVRIX01BWCkpCisgICAgICAgIHsKKyAgICAgICAgICBmcmVlIChyZWxhdGl2ZV9m cm9tKTsKKyAgICAgICAgICByZWxhdGl2ZV9mcm9tID0gTlVMTDsKKyAgICAgICAgfQogICAgIH0K CiAgIGZyZWUgKHRhcmdldGRpcik7CmRpZmYgLS1naXQgYS90ZXN0cy9sbi9yZWxhdGl2ZS5zaCBi L3Rlc3RzL2xuL3JlbGF0aXZlLnNoCmluZGV4IDc2MzY2OTUuLmU4YzI1ZGMgMTAwNzU1Ci0tLSBh L3Rlc3RzL2xuL3JlbGF0aXZlLnNoCisrKyBiL3Rlc3RzL2xuL3JlbGF0aXZlLnNoCkBAIC00NSw0 ICs0NSw5IEBAIG1rZGlyIHdlYgogbG4gLXNyIGxhdGVzdCB3ZWIvbGF0ZXN0CiB0ZXN0ICQocmVh ZGxpbmsgd2ViL2xhdGVzdCkgPSAnLi4vcmVsZWFzZTInIHx8IGZhaWw9MQoKKyMgRXhwZWN0IHRo aXMgdG8gZmFpbCB3aXRoIGV4aXQgc3RhdHVzIDEuCisjIFByaW9yIHRvIGNvcmV1dGlscy04LjIz LCBpdCB3b3VsZCBzZWdmYXVsdC4KK2xuIC1zciAnJyBGCit0ZXN0ICQ/ID0gMSB8fCBmYWlsPTEK KwogRXhpdCAkZmFpbAotLSAKMS45LjAuMTY3LmczODQzNjRiCgo= --e89a8ff1bfa66f9aff04f48730e7-- From debbugs-submit-bounces@debbugs.gnu.org Thu Mar 13 22:22:40 2014 Received: (at 17010) by debbugs.gnu.org; 14 Mar 2014 02:22:40 +0000 Received: from localhost ([127.0.0.1]:36298 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WOHlf-00056p-IC for submit@debbugs.gnu.org; Thu, 13 Mar 2014 22:22:39 -0400 Received: from mx1.redhat.com ([209.132.183.28]:26150) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WOHlc-00056g-Da for 17010@debbugs.gnu.org; Thu, 13 Mar 2014 22:22:37 -0400 Received: from int-mx01.intmail.prod.int.phx2.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s2E2MVPF003293 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Thu, 13 Mar 2014 22:22:32 -0400 Received: from [10.36.116.22] (ovpn-116-22.ams2.redhat.com [10.36.116.22]) by int-mx01.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id s2E2MRg6008557 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Thu, 13 Mar 2014 22:22:30 -0400 Message-ID: <532267E3.7020901@draigBrady.com> Date: Fri, 14 Mar 2014 02:22:27 +0000 From: =?ISO-8859-1?Q?P=E1draig_Brady?= User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130110 Thunderbird/17.0.2 MIME-Version: 1.0 To: Jim Meyering Subject: Re: bug#17010: Bug#739752: coreutils: ln segfaults when run with --relative and an empty target References: <20140222095709.8331.43112.reportbug@nyx> In-Reply-To: X-Enigmail-Version: 1.6 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit X-Scanned-By: MIMEDefang 2.67 on 10.5.11.11 X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 17010 Cc: erik@fscking.org, 17010@debbugs.gnu.org, Debian Bug Tracking System , 739752@bugs.debian.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) On 03/14/2014 01:42 AM, Jim Meyering wrote: > From a6d2db8b6dfe15344aba4aefe9545eb3a4876d45 Mon Sep 17 00:00:00 2001 > From: Jim Meyering > Date: Thu, 13 Mar 2014 17:05:04 -0700 > Subject: [PATCH] ln: with -sr, don't segfault for a TARGET of '' > > Prior to this change, "ln -sr '' F" would segfault, attempting > to read path2[1] in relpath.c's path_common_prefix function. > This problem arises whenever canonicalize_filename_mode returns > NULL. > * src/ln.c (convert_abs_rel): Call relpath only when > both canonicalize_filename_mode calls return non-NULL. > * tests/ln/relative.sh: Add a test to trigger this failure. > * THANKS.in: List reporter's name/address. > * NEWS (Bug fixes): Mention it. > Reported by Erik Bernstein in 739752@bugs.debian.org. We can amend with the now allocated: Fixes http://bugs.gnu.org/17010 > diff --git a/NEWS b/NEWS > index 62966b2..b3ad65c 100644 > --- a/NEWS > +++ b/NEWS > @@ -25,6 +25,8 @@ GNU coreutils NEWS -*- outline -*- > it would display an error, requiring --no-dereference to avoid the issue. > [bug introduced in coreutils-5.3.0] > > + ln -sr '' F no longer segfaults: now it fails with the expected diagnostic Probably should add: [bug introduced with the --relative feature in coreutils-8.16] > diff --git a/src/ln.c b/src/ln.c > index aab9cf2..6726699 100644 > --- a/src/ln.c > +++ b/src/ln.c > @@ -149,13 +149,17 @@ convert_abs_rel (const char *from, const char *target) > char *realdest = canonicalize_filename_mode (targetdir, CAN_MISSING); > char *realfrom = canonicalize_filename_mode (from, CAN_MISSING); Interesting. So canonicalize_filename_mode() can fail in this case, even with CAN_MISSING. It's unexpected that c_f_m() sets errno=ENOENT when CAN_MISSING is set. I wonder should we change that instead in gnulib? With CAN_MISSING I would expect this function to work on arbitrary strings, including the empty string. > > - /* Write to a PATH_MAX buffer. */ > - char *relative_from = xmalloc (PATH_MAX); > - > - if (!relpath (realfrom, realdest, relative_from, PATH_MAX)) > + char *relative_from = NULL; > + if (realdest && realfrom) > { > - free (relative_from); > - relative_from = NULL; > + /* Write to a PATH_MAX buffer. */ > + relative_from = xmalloc (PATH_MAX); > + > + if (!relpath (realfrom, realdest, relative_from, PATH_MAX)) > + { > + free (relative_from); > + relative_from = NULL; > + } > } > > free (targetdir); > diff --git a/tests/ln/relative.sh b/tests/ln/relative.sh > +# Expect this to fail with exit status 1. > +# Prior to coreutils-8.23, it would segfault. > +ln -sr '' F > +test $? = 1 || fail=1 Won't the ln succeed on FreeBSD as per: http://bugs.gnu.org/13447 thanks, Pádraig. From debbugs-submit-bounces@debbugs.gnu.org Thu Mar 13 23:45:23 2014 Received: (at 17010) by debbugs.gnu.org; 14 Mar 2014 03:45:23 +0000 Received: from localhost ([127.0.0.1]:36313 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WOJ3i-0007WT-8R for submit@debbugs.gnu.org; Thu, 13 Mar 2014 23:45:23 -0400 Received: from mail-pb0-f42.google.com ([209.85.160.42]:50287) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WOJ3e-0007WH-62 for 17010@debbugs.gnu.org; Thu, 13 Mar 2014 23:45:19 -0400 Received: by mail-pb0-f42.google.com with SMTP id rr13so2048445pbb.1 for <17010@debbugs.gnu.org>; Thu, 13 Mar 2014 20:45:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc:content-type; bh=tUdHzwf/IVkuwo7OpEeXmqWydZ+iswGGEepg9AZnfy4=; b=j8FDc5ItUf9aIBgxG+WhnwWGa5FQR+NZBlcghwnLXMT4fTqI2Yfr2hl+nICFTRi3CK 854qhYyjHW8nT8C7LACqZU6CP0xGXx6yqK5ygXXw2jWw1CAFUGaf4ZQebRVSI3k3wT6V 3tJYDpZj6CMLHdeerb6zO+GiBGWNzlGcw518Uavpsljh/7sDe68z5YV4p3Kvq9V1k4tL V+5D82wU02s2/2JeSvQuDkd9Gy99E0R6Ra2vg0MLxr5hxfrkDHYSpUH3jO18huzZbVsn JubY5Ie8bhGb/SzavMcm5L/SueY2qGT5LG3lVXFOpAp7qxbTHA611UYhJ+9AaaYknRnm G6wg== X-Received: by 10.68.138.227 with SMTP id qt3mr6782696pbb.6.1394768717337; Thu, 13 Mar 2014 20:45:17 -0700 (PDT) MIME-Version: 1.0 Received: by 10.68.201.231 with HTTP; Thu, 13 Mar 2014 20:44:56 -0700 (PDT) In-Reply-To: <532267E3.7020901@draigBrady.com> References: <20140222095709.8331.43112.reportbug@nyx> <532267E3.7020901@draigBrady.com> From: Jim Meyering Date: Thu, 13 Mar 2014 20:44:56 -0700 X-Google-Sender-Auth: hWTIVExCzOfOztSqB2h_jJlD9tM Message-ID: Subject: Re: bug#17010: Bug#739752: coreutils: ln segfaults when run with --relative and an empty target To: =?ISO-8859-1?Q?P=E1draig_Brady?= Content-Type: multipart/mixed; boundary=e89a8f83a5e5f0eeff04f488e58c X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 17010 Cc: Erik Bernstein , 17010@debbugs.gnu.org, Debian Bug Tracking System , 739752 <739752@bugs.debian.org> X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) --e89a8f83a5e5f0eeff04f488e58c Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable On Thu, Mar 13, 2014 at 7:22 PM, P=E1draig Brady wrote: > On 03/14/2014 01:42 AM, Jim Meyering wrote: >> From a6d2db8b6dfe15344aba4aefe9545eb3a4876d45 Mon Sep 17 00:00:00 2001 >> From: Jim Meyering >> Date: Thu, 13 Mar 2014 17:05:04 -0700 >> Subject: [PATCH] ln: with -sr, don't segfault for a TARGET of '' >> >> Prior to this change, "ln -sr '' F" would segfault, attempting >> to read path2[1] in relpath.c's path_common_prefix function. >> This problem arises whenever canonicalize_filename_mode returns >> NULL. >> * src/ln.c (convert_abs_rel): Call relpath only when >> both canonicalize_filename_mode calls return non-NULL. >> * tests/ln/relative.sh: Add a test to trigger this failure. >> * THANKS.in: List reporter's name/address. >> * NEWS (Bug fixes): Mention it. >> Reported by Erik Bernstein in 739752@bugs.debian.org. > > We can amend with the now allocated: > > Fixes http://bugs.gnu.org/17010 Done. >> diff --git a/NEWS b/NEWS ... >> + ln -sr '' F no longer segfaults: now it fails with the expected diagn= ostic > > Probably should add: > > [bug introduced with the --relative feature in coreutils-8.16] Definitely. Thanks. >> diff --git a/src/ln.c b/src/ln.c >> index aab9cf2..6726699 100644 >> --- a/src/ln.c >> +++ b/src/ln.c >> @@ -149,13 +149,17 @@ convert_abs_rel (const char *from, const char *tar= get) >> char *realdest =3D canonicalize_filename_mode (targetdir, CAN_MISSING= ); >> char *realfrom =3D canonicalize_filename_mode (from, CAN_MISSING); > > Interesting. So canonicalize_filename_mode() can fail in this case, > even with CAN_MISSING. It's unexpected that c_f_m() sets errno=3DENOENT > when CAN_MISSING is set. I wonder should we change that instead > in gnulib? With CAN_MISSING I would expect this function to work > on arbitrary strings, including the empty string. What would you have c_f_m("", CAN_MISSING) return? I know of no absolute name corresponding to the dot-relative empty string. >> diff --git a/tests/ln/relative.sh b/tests/ln/relative.sh >> +# Expect this to fail with exit status 1. >> +# Prior to coreutils-8.23, it would segfault. >> +ln -sr '' F >> +test $? =3D 1 || fail=3D1 > > Won't the ln succeed on FreeBSD as per: > http://bugs.gnu.org/13447 You're right. Good catch. Adjusted as well. Thanks for the speedy and thorough review. Here's a revised patch: --e89a8f83a5e5f0eeff04f488e58c Content-Type: text/plain; charset=US-ASCII; name="k.txt" Content-Disposition: attachment; filename="k.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_hsqx9dof0 RnJvbSAwMDkzYWM4ZDU3YTBmMWExNmZkMDlkOThmNmE1MjRkZGRiNjA1M2U3IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKaW0gTWV5ZXJpbmcgPG1leWVyaW5nQGZiLmNvbT4KRGF0ZTog VGh1LCAxMyBNYXIgMjAxNCAxNzowNTowNCAtMDcwMApTdWJqZWN0OiBbUEFUQ0hdIGxuOiB3aXRo IC1zciwgZG9uJ3Qgc2VnZmF1bHQgZm9yIGEgVEFSR0VUIG9mICcnCgpQcmlvciB0byB0aGlzIGNo YW5nZSwgImxuIC1zciAnJyBGIiB3b3VsZCBzZWdmYXVsdCwgYXR0ZW1wdGluZwp0byByZWFkIHBh dGgyWzFdIGluIHJlbHBhdGguYydzIHBhdGhfY29tbW9uX3ByZWZpeCBmdW5jdGlvbi4KVGhpcyBw cm9ibGVtIGFyaXNlcyB3aGVuZXZlciBjYW5vbmljYWxpemVfZmlsZW5hbWVfbW9kZSByZXR1cm5z Ck5VTEwuCiogc3JjL2xuLmMgKGNvbnZlcnRfYWJzX3JlbCk6IENhbGwgcmVscGF0aCBvbmx5IHdo ZW4KYm90aCBjYW5vbmljYWxpemVfZmlsZW5hbWVfbW9kZSBjYWxscyByZXR1cm4gbm9uLU5VTEwu CiogdGVzdHMvbG4vcmVsYXRpdmUuc2g6IEFkZCBhIHRlc3QgdG8gdHJpZ2dlciB0aGlzIGZhaWx1 cmUuCiogVEhBTktTLmluOiBMaXN0IHJlcG9ydGVyJ3MgbmFtZS9hZGRyZXNzLgoqIE5FV1MgKEJ1 ZyBmaXhlcyk6IE1lbnRpb24gaXQuClJlcG9ydGVkIGJ5IEVyaWsgQmVybnN0ZWluIGluIDczOTc1 MkBidWdzLmRlYmlhbi5vcmcuCkZpeGVzIGh0dHA6Ly9idWdzLmdudS5vcmcvMTcwMTAuCi0tLQog TkVXUyAgICAgICAgICAgICAgICAgfCAgMyArKysKIFRIQU5LUy5pbiAgICAgICAgICAgIHwgIDEg Kwogc3JjL2xuLmMgICAgICAgICAgICAgfCAxNiArKysrKysrKysrLS0tLS0tCiB0ZXN0cy9sbi9y ZWxhdGl2ZS5zaCB8ICA1ICsrKysrCiA0IGZpbGVzIGNoYW5nZWQsIDE5IGluc2VydGlvbnMoKyks IDYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvTkVXUyBiL05FV1MKaW5kZXggNjI5NjZiMi4u MzVkNDhlNSAxMDA2NDQKLS0tIGEvTkVXUworKysgYi9ORVdTCkBAIC0yNSw2ICsyNSw5IEBAIEdO VSBjb3JldXRpbHMgTkVXUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0qLSBv dXRsaW5lIC0qLQogICBpdCB3b3VsZCBkaXNwbGF5IGFuIGVycm9yLCByZXF1aXJpbmcgLS1uby1k ZXJlZmVyZW5jZSB0byBhdm9pZCB0aGUgaXNzdWUuCiAgIFtidWcgaW50cm9kdWNlZCBpbiBjb3Jl dXRpbHMtNS4zLjBdCgorICBsbiAtc3IgJycgRiBubyBsb25nZXIgc2VnZmF1bHRzLiAgTm93IHdv cmtzIGFzIGV4cGVjdGVkLgorICBbYnVnIGludHJvZHVjZWQgd2l0aCB0aGUgLS1yZWxhdGl2ZSBm ZWF0dXJlIGluIGNvcmV1dGlscy04LjE2XQorCiAgIHNodWYgLS1yZXBlYXQgbm8gbG9uZ2VyIGR1 bXBzIGNvcmUgaWYgdGhlIGlucHV0IGlzIGVtcHR5LgogICBbYnVnIGludHJvZHVjZWQgd2l0aCB0 aGUgLS1yZXBlYXQgZmVhdHVyZSBpbiBjb3JldXRpbHMtOC4yMl0KCmRpZmYgLS1naXQgYS9USEFO S1MuaW4gYi9USEFOS1MuaW4KaW5kZXggNTYxZDE4Yy4uMjY3MDI2NSAxMDA2NDQKLS0tIGEvVEhB TktTLmluCisrKyBiL1RIQU5LUy5pbgpAQCAtMTkzLDYgKzE5Myw3IEBAIEVyaWMgRy4gTWlsbGVy ICAgICAgICAgICAgICAgICAgICAgIGVnbTJAanBzLm5ldAogRXJpYyBQZW1lbnRlICAgICAgICAg ICAgICAgICAgICAgICAgcGVtZW50ZUBub3J0aHBhcmsuZWR1CiBFcmljIFMuIFJheW1vbmQgICAg ICAgICAgICAgICAgICAgICBlc3JAc25hcmsudGh5cnN1cy5jb20KIEVyaWsgQmVubmV0dCAgICAg ICAgICAgICAgICAgICAgICAgIGJlbm5ldHRAY3ZvLm9uZXdvcmxkLmNvbQorRXJpayBCZXJuc3Rl aW4gICAgICAgICAgICAgICAgICAgICAgZXJpa0Bmc2NraW5nLm9yZwogRXJpayBDb3JyeSAgICAg ICAgICAgICAgICAgICAgICAgICAgZXJpa0Brcm9ldGUyLmZyZWluZXQuZGUKIEZlbGl4IExlZSAg ICAgICAgICAgICAgICAgICAgICAgICAgIGZsZWVAdGVsZXBvcnQuY29tCiBGZWxpeCBSYXVjaCBW YWxlbnRpICAgICAgICAgICAgICAgICBmcmF1Y2hAY3NlLnVuc3cuZWR1LmF1CmRpZmYgLS1naXQg YS9zcmMvbG4uYyBiL3NyYy9sbi5jCmluZGV4IGFhYjljZjIuLjY3MjY2OTkgMTAwNjQ0Ci0tLSBh L3NyYy9sbi5jCisrKyBiL3NyYy9sbi5jCkBAIC0xNDksMTMgKzE0OSwxNyBAQCBjb252ZXJ0X2Fi c19yZWwgKGNvbnN0IGNoYXIgKmZyb20sIGNvbnN0IGNoYXIgKnRhcmdldCkKICAgY2hhciAqcmVh bGRlc3QgPSBjYW5vbmljYWxpemVfZmlsZW5hbWVfbW9kZSAodGFyZ2V0ZGlyLCBDQU5fTUlTU0lO Ryk7CiAgIGNoYXIgKnJlYWxmcm9tID0gY2Fub25pY2FsaXplX2ZpbGVuYW1lX21vZGUgKGZyb20s IENBTl9NSVNTSU5HKTsKCi0gIC8qIFdyaXRlIHRvIGEgUEFUSF9NQVggYnVmZmVyLiAgKi8KLSAg Y2hhciAqcmVsYXRpdmVfZnJvbSA9IHhtYWxsb2MgKFBBVEhfTUFYKTsKLQotICBpZiAoIXJlbHBh dGggKHJlYWxmcm9tLCByZWFsZGVzdCwgcmVsYXRpdmVfZnJvbSwgUEFUSF9NQVgpKQorICBjaGFy ICpyZWxhdGl2ZV9mcm9tID0gTlVMTDsKKyAgaWYgKHJlYWxkZXN0ICYmIHJlYWxmcm9tKQogICAg IHsKLSAgICAgIGZyZWUgKHJlbGF0aXZlX2Zyb20pOwotICAgICAgcmVsYXRpdmVfZnJvbSA9IE5V TEw7CisgICAgICAvKiBXcml0ZSB0byBhIFBBVEhfTUFYIGJ1ZmZlci4gICovCisgICAgICByZWxh dGl2ZV9mcm9tID0geG1hbGxvYyAoUEFUSF9NQVgpOworCisgICAgICBpZiAoIXJlbHBhdGggKHJl YWxmcm9tLCByZWFsZGVzdCwgcmVsYXRpdmVfZnJvbSwgUEFUSF9NQVgpKQorICAgICAgICB7Cisg ICAgICAgICAgZnJlZSAocmVsYXRpdmVfZnJvbSk7CisgICAgICAgICAgcmVsYXRpdmVfZnJvbSA9 IE5VTEw7CisgICAgICAgIH0KICAgICB9CgogICBmcmVlICh0YXJnZXRkaXIpOwpkaWZmIC0tZ2l0 IGEvdGVzdHMvbG4vcmVsYXRpdmUuc2ggYi90ZXN0cy9sbi9yZWxhdGl2ZS5zaAppbmRleCA3NjM2 Njk1Li41Y2YyODBhIDEwMDc1NQotLS0gYS90ZXN0cy9sbi9yZWxhdGl2ZS5zaAorKysgYi90ZXN0 cy9sbi9yZWxhdGl2ZS5zaApAQCAtNDUsNCArNDUsOSBAQCBta2RpciB3ZWIKIGxuIC1zciBsYXRl c3Qgd2ViL2xhdGVzdAogdGVzdCAkKHJlYWRsaW5rIHdlYi9sYXRlc3QpID0gJy4uL3JlbGVhc2Uy JyB8fCBmYWlsPTEKCisjIEV4cGVjdCB0aGlzIHRvIGZhaWwgd2l0aCBleGl0IHN0YXR1cyAxLCBv ciB0byBzdWNjZWVkIHF1aWV0bHkgKGZyZWVic2QpLgorIyBQcmlvciB0byBjb3JldXRpbHMtOC4y MywgaXQgd291bGQgc2VnZmF1bHQuCitsbiAtc3IgJycgRgorY2FzZSAkPyBpbiBbMDFdKSA7OyAq KSBmYWlsPTE7OyBlc2FjCisKIEV4aXQgJGZhaWwKLS0gCjEuOS4wLjE2Ny5nMzg0MzY0YgoK --e89a8f83a5e5f0eeff04f488e58c-- From debbugs-submit-bounces@debbugs.gnu.org Fri Mar 14 07:50:13 2014 Received: (at 17010) by debbugs.gnu.org; 14 Mar 2014 11:50:13 +0000 Received: from localhost ([127.0.0.1]:36524 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WOQcv-00069H-FT for submit@debbugs.gnu.org; Fri, 14 Mar 2014 07:50:13 -0400 Received: from mx1.redhat.com ([209.132.183.28]:35675) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WOQct-000693-62 for 17010@debbugs.gnu.org; Fri, 14 Mar 2014 07:50:12 -0400 Received: from int-mx01.intmail.prod.int.phx2.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s2EBnxJD007872 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Fri, 14 Mar 2014 07:49:59 -0400 Received: from [10.36.116.72] (ovpn-116-72.ams2.redhat.com [10.36.116.72]) by int-mx01.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id s2EBnsve013070 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Fri, 14 Mar 2014 07:49:56 -0400 Message-ID: <5322ECE1.5030204@draigBrady.com> Date: Fri, 14 Mar 2014 11:49:53 +0000 From: =?ISO-8859-1?Q?P=E1draig_Brady?= User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130110 Thunderbird/17.0.2 MIME-Version: 1.0 To: Jim Meyering Subject: Re: bug#17010: Bug#739752: coreutils: ln segfaults when run with --relative and an empty target References: <20140222095709.8331.43112.reportbug@nyx> <532267E3.7020901@draigBrady.com> In-Reply-To: X-Enigmail-Version: 1.6 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit X-Scanned-By: MIMEDefang 2.67 on 10.5.11.11 X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 17010 Cc: Erik Bernstein , 17010@debbugs.gnu.org, Debian Bug Tracking System , 739752 <739752@bugs.debian.org> X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) On 03/14/2014 03:44 AM, Jim Meyering wrote: > On Thu, Mar 13, 2014 at 7:22 PM, Pádraig Brady wrote: >> Interesting. So canonicalize_filename_mode() can fail in this case, >> even with CAN_MISSING. It's unexpected that c_f_m() sets errno=ENOENT >> when CAN_MISSING is set. I wonder should we change that instead >> in gnulib? With CAN_MISSING I would expect this function to work >> on arbitrary strings, including the empty string. > > What would you have c_f_m("", CAN_MISSING) return? > I know of no absolute name corresponding to the dot-relative empty string. Since with CAN_MISSING we should be just degenerating to string processing, I would think it slightly better to return xstrdup(""), to avoid special casing that in each caller. I also notice that c_f_m() can return ENOMEM (from areadlink_with_size). It's arguable that we should xalloc_die() within c_f_m() for consistency in that case. However I also notice that c_f_m("", CAN_MISSING) can return ENOENT if the current working dir is unlinked. I'm not sure there is anything else we could do within c_f_m() to handle that. Hence since c_f_m() can validly fail even with CAN_MISSING, I agree your patch is correct. Please push. thanks! Pádraig. From debbugs-submit-bounces@debbugs.gnu.org Fri Mar 14 12:27:49 2014 Received: (at 17010-done) by debbugs.gnu.org; 14 Mar 2014 16:27:49 +0000 Received: from localhost ([127.0.0.1]:37009 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WOUxY-0007CH-Uh for submit@debbugs.gnu.org; Fri, 14 Mar 2014 12:27:49 -0400 Received: from mail-pa0-f54.google.com ([209.85.220.54]:37072) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WOUxV-0007C5-NK for 17010-done@debbugs.gnu.org; Fri, 14 Mar 2014 12:27:46 -0400 Received: by mail-pa0-f54.google.com with SMTP id lf10so2871463pab.27 for <17010-done@debbugs.gnu.org>; Fri, 14 Mar 2014 09:27:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc:content-type:content-transfer-encoding; bh=XE6Rvy0zFULIOfRSaaXvCTBtII6oWClFZcDctwOvs6Q=; b=Qg88IvjwgcmKzXPnKI+dCVGhvnwBvKRaUmbc34CPjNIpPUH6UKN0B47xWWRQr1CRbB ANhPJ7CANfyIbJCjZnz40Ehgvpv23f2btWCPYH3cA0ZeL3FKSdF3Yx635LaIQuEeRrVT lyZ19QL8F1INL9zqZMaJkl3f3kteSUdlPkdL8zaowSynPpblDOxz0CZTNLJwaGK1cNFb Q+F1i6b1lKht8uyvrPOdENN6Oj77h48SPlEq3QnEEHsOMEHNS1IWazTAHrlDRYfNyhma j5y9zksbAubEW9Mic4QLIOni+VK9xI0hD1r0HpzPvAMQWp93PklTp9Z3vVTdA3w+2PW6 5taA== X-Received: by 10.68.137.136 with SMTP id qi8mr9649120pbb.79.1394814464894; Fri, 14 Mar 2014 09:27:44 -0700 (PDT) MIME-Version: 1.0 Received: by 10.68.201.231 with HTTP; Fri, 14 Mar 2014 09:27:24 -0700 (PDT) In-Reply-To: <5322ECE1.5030204@draigBrady.com> References: <20140222095709.8331.43112.reportbug@nyx> <532267E3.7020901@draigBrady.com> <5322ECE1.5030204@draigBrady.com> From: Jim Meyering Date: Fri, 14 Mar 2014 09:27:24 -0700 X-Google-Sender-Auth: 41ntFd9CKCOaHTsqWJA3cc6aDX8 Message-ID: Subject: Re: bug#17010: Bug#739752: coreutils: ln segfaults when run with --relative and an empty target To: =?ISO-8859-1?Q?P=E1draig_Brady?= Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 17010-done Cc: Erik Bernstein , 17010 <17010-done@debbugs.gnu.org>, 739752 <739752@bugs.debian.org> X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) On Fri, Mar 14, 2014 at 4:49 AM, P=E1draig Brady wrote: ... > Hence since c_f_m() can validly fail even with CAN_MISSING, > I agree your patch is correct. > > Please push. Done. From debbugs-submit-bounces@debbugs.gnu.org Sat Mar 15 00:13:41 2014 Received: (at 17010-done) by debbugs.gnu.org; 15 Mar 2014 04:13:41 +0000 Received: from localhost ([127.0.0.1]:37209 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WOfye-00036k-Dt for submit@debbugs.gnu.org; Sat, 15 Mar 2014 00:13:41 -0400 Received: from mail-pd0-f171.google.com ([209.85.192.171]:49552) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WOfyc-00036c-53 for 17010-done@debbugs.gnu.org; Sat, 15 Mar 2014 00:13:39 -0400 Received: by mail-pd0-f171.google.com with SMTP id r10so3347238pdi.30 for <17010-done@debbugs.gnu.org>; Fri, 14 Mar 2014 21:13:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc:content-type; bh=MNbLZ/ac1ofdLPbuVKNl/JUOTXF7e9ws0CiB5Sh88WY=; b=hHcya9y+Nkk3Yqt5hwsL1kLCP2P3tzMrpuoaPZDXMky7nE7gVh3qeBSFgKA5LQlZft rhQkTyElXKkphabq1DFDkogUZiAesM5nHJKHYB3meugMO1zRAQ06nqpJ7BMRA3jXyxQE dBRf7oDyJVJLVP1nVT4H8eq/fVYa1Oah3jDfii+xbyI1daYylNvkVT3JixYN3V5B/vqw Ej3sLLT/p5e6lvEzRbq1hLODXJmKML13jYMlOUg1MfOfni/GuvZmKqoCXJLu/OglX0hS yQD2Qnj+gOC56twm0ngXd6S79UL9wKurxcJ3DJaT9rl9QTqj96pUlGWGRaa01tjiZ8Xo 6jAw== X-Received: by 10.68.196.226 with SMTP id ip2mr12570562pbc.106.1394856817404; Fri, 14 Mar 2014 21:13:37 -0700 (PDT) MIME-Version: 1.0 Received: by 10.68.201.231 with HTTP; Fri, 14 Mar 2014 21:13:17 -0700 (PDT) In-Reply-To: References: <20140222095709.8331.43112.reportbug@nyx> <532267E3.7020901@draigBrady.com> <5322ECE1.5030204@draigBrady.com> From: Jim Meyering Date: Fri, 14 Mar 2014 21:13:17 -0700 X-Google-Sender-Auth: WInyH1jxJoh_XusTLXljE9XU7o0 Message-ID: Subject: Re: bug#17010: Bug#739752: coreutils: ln segfaults when run with --relative and an empty target To: =?ISO-8859-1?Q?P=E1draig_Brady?= Content-Type: multipart/mixed; boundary=e89a8ff1cc141d4aa604f49d695d X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 17010-done Cc: Erik Bernstein , 17010 <17010-done@debbugs.gnu.org>, 739752 <739752@bugs.debian.org> X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.0 (/) --e89a8ff1cc141d4aa604f49d695d Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable On Fri, Mar 14, 2014 at 9:27 AM, Jim Meyering wrote: > On Fri, Mar 14, 2014 at 4:49 AM, P=E1draig Brady wrote= : > ... >> Hence since c_f_m() can validly fail even with CAN_MISSING, >> I agree your patch is correct. >> >> Please push. > > Done. Hmm... For the record, I also pushed (accidentally) two additional changes = that had been languishing in the affected repository. Here they are: --e89a8ff1cc141d4aa604f49d695d Content-Type: text/plain; charset=US-ASCII; name="k.txt" Content-Disposition: attachment; filename="k.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_hssdpucp0 RnJvbSA0MmQyMzc3YjgxMzUwN2Q1MGY1YTY3MDc2YmIyMDEzNGNlYjJmYzEwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKaW0gTWV5ZXJpbmcgPGppbUBtZXllcmluZy5uZXQ+CkRhdGU6 IE1vbiwgNSBBdWcgMjAxMyAwNzoyODozNCAtMDcwMApTdWJqZWN0OiBbUEFUQ0ggMS8yXSBzY3Jp cHRzOiBhdXRvdG9vbHMtaW5zdGFsbDogdXBkYXRlCgoqIHNjcmlwdHMvYXV0b3Rvb2xzLWluc3Rh bGw6IFVwZGF0ZSB2ZXJzaW9uIG51bWJlcnMgb2YgbGF0ZXN0CmF1dG9tYWtlIGFuZCBnZXR0ZXh0 IHBhY2thZ2VzLgotLS0KIHNjcmlwdHMvYXV0b3Rvb2xzLWluc3RhbGwgfCA0ICsrLS0KIDEgZmls ZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEv c2NyaXB0cy9hdXRvdG9vbHMtaW5zdGFsbCBiL3NjcmlwdHMvYXV0b3Rvb2xzLWluc3RhbGwKaW5k ZXggNDAzNjQ0Zi4uYzZhOGUzNiAxMDA3NTUKLS0tIGEvc2NyaXB0cy9hdXRvdG9vbHMtaW5zdGFs bAorKysgYi9zY3JpcHRzL2F1dG90b29scy1pbnN0YWxsCkBAIC0yNCw5ICsyNCw5IEBAIHRhcmJh bGxzPScKICAgaHR0cDovL3BrZ2NvbmZpZy5mcmVlZGVza3RvcC5vcmcvcmVsZWFzZXMvcGtnLWNv bmZpZy0wLjI4LnRhci5negogICBodHRwOi8vZnRwLmdudS5vcmcvZ251L200L200LTEuNC4xNi50 YXIuZ3oKICAgaHR0cDovL2Z0cC5nbnUub3JnL2dudS9hdXRvY29uZi9hdXRvY29uZi0yLjY5LnRh ci5negotICBodHRwOi8vZnRwLmdudS5vcmcvZ251L2F1dG9tYWtlL2F1dG9tYWtlLTEuMTIuNi50 YXIuZ3oKKyAgaHR0cDovL2Z0cC5nbnUub3JnL2dudS9hdXRvbWFrZS9hdXRvbWFrZS0xLjE0LnRh ci5negogICBodHRwOi8vZnRwLmdudS5vcmcvZ251L2xpYnRvb2wvbGlidG9vbC0yLjQuMi50YXIu Z3oKLSAgaHR0cDovL2Z0cC5nbnUub3JnL2dudS9nZXR0ZXh0L2dldHRleHQtMC4xOC4yLnRhci5n egorICBodHRwOi8vZnRwLmdudS5vcmcvZ251L2dldHRleHQvZ2V0dGV4dC0wLjE4LjMudGFyLmd6 CiAnCgogdXNhZ2UoKSB7Ci0tIAoxLjkuMC4xNjcuZzM4NDM2NGIKCgpGcm9tIDRmMjExODIyZGRk ZDE3NzdkYzkxNWYyZGY0ZTJlZDNiNjVjNjgzMDEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZy b206IEppbSBNZXllcmluZyA8bWV5ZXJpbmdAZmIuY29tPgpEYXRlOiBNb24sIDE4IE5vdiAyMDEz IDEwOjEzOjA2IC0wODAwClN1YmplY3Q6IFtQQVRDSCAyLzJdIG1haW50OiBhdm9pZCAiYXR0cmli dXRlLWNvbnN0Ii1zdWdnZXN0aW5nIHdhcm5pbmcgZnJvbQogZ2NjCgoqIGdsL2xpYi9mYWR2aXNl LmM6IFVzZSBhIHByYWdtYSB0byB0dXJuIG9mZiB0aGlzIHdhcm5pbmcgb3B0aW9uOgotV3N1Z2dl c3QtYXR0cmlidXRlPWNvbnN0LiAgV2l0aG91dCB0aGlzIGNoYW5nZSwgYnVpbGRpbmcgd2l0aAot LWVuYWJsZS1nY2Mtd2FybmluZ3Mgd291bGQgZXZva2UgdGhpcyBlcnJvcjoKCiAgICBsaWIvZmFk dmlzZS5jOjI1OjE6IGVycm9yOiBmdW5jdGlvbiBtaWdodCBiZSBjYW5kaWRhdGUgZm9yXAogICAg YXR0cmlidXRlICdjb25zdCcgWy1XZXJyb3I9c3VnZ2VzdC1hdHRyaWJ1dGU9Y29uc3RdCi0tLQog Z2wvbGliL2ZhZHZpc2UuYyB8IDYgKysrKysrCiAxIGZpbGUgY2hhbmdlZCwgNiBpbnNlcnRpb25z KCspCgpkaWZmIC0tZ2l0IGEvZ2wvbGliL2ZhZHZpc2UuYyBiL2dsL2xpYi9mYWR2aXNlLmMKaW5k ZXggMzQ1NmNlMS4uNTYyZjFlYiAxMDA2NDQKLS0tIGEvZ2wvbGliL2ZhZHZpc2UuYworKysgYi9n bC9saWIvZmFkdmlzZS5jCkBAIC0xNCw2ICsxNCwxMiBAQAogICAgWW91IHNob3VsZCBoYXZlIHJl Y2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKICAgIGFsb25n IHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNl bnNlcy8+LiAgKi8KCisvKiBXaXRob3V0IHRoaXMgcHJhZ21hLCBnY2Mgc3VnZ2VzdHMgdGhhdCAo Z2l2ZW4gIUhBVkVfUE9TSVhfRkFEVklTRSkKKyAgIHRoZSB0aGUgZmRhZHZpc2UgZnVuY3Rpb24g bWlnaHQgYmUgY2FuZGlkYXRlIGZvciBhdHRyaWJ1dGUgJ2NvbnN0Jy4gICovCisjaWYgKF9fR05V Q19fID09IDQgJiYgNiA8PSBfX0dOVUNfTUlOT1JfXykgfHwgNCA8IF9fR05VQ19fCisjIHByYWdt YSBHQ0MgZGlhZ25vc3RpYyBpZ25vcmVkICItV3N1Z2dlc3QtYXR0cmlidXRlPWNvbnN0IgorI2Vu ZGlmCisKICNpbmNsdWRlIDxjb25maWcuaD4KICNpbmNsdWRlICJmYWR2aXNlLmgiCgotLSAKMS45 LjAuMTY3LmczODQzNjRiCg== --e89a8ff1cc141d4aa604f49d695d-- From unknown Sun Jun 22 20:55:42 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Sat, 12 Apr 2014 11:24:04 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator