bin/139606: [patch] pkg_add(1) coredumps silently on atlantis
symlink
Efstratios Karatzas
gpf.kira at gmail.com
Mon Mar 22 21:30:09 UTC 2010
The following reply was made to PR bin/139606; it has been noted by GNATS.
From: Efstratios Karatzas <gpf.kira at gmail.com>
To: bug-followup at freebsd.org
Cc: Garrett Cooper <yanefbsd at gmail.com>
Subject: Re: bin/139606: [patch] pkg_add(1) coredumps silently on atlantis
symlink
Date: Mon, 22 Mar 2010 23:26:30 +0200
--0016e6d78546bbf85a04826a5914
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
Yo Garrett.
I concur with your statement. Even a minor change to a library method
should not be taken lightly. Regrettably, I don't have the time to
perform a foolproof testing of my original patch to all of the
utilities that use this library; most of my free time goes to my
preparation for the coming gsoc.
On the other hand, leaving the bug as is does not sit well with me. So
here is a fix for this particular part of the code. I may be a little
sleepy as I'm writing this but everything seems okay, no segfaults or
pissed of compilers.
Thanks for your time!
>> From: Garrett Cooper <yanegomi at gmail.com>
>> =C2=A0Hi PHK,
>> =C2=A0 =C2=A0 The goals of this change are good and while this does do a=
better
>> =C2=A0job than the other proposed change (bin/136419), there's one solit=
ary
>> =C2=A0problem: fexists is used all over the pkg_install code and minus t=
he
>> =C2=A0occasional corner case it's been relatively glitch free. Changing =
this
>> =C2=A0code to use stat(2) instead of lstat(2) may have some unexpected
>> =C2=A0consequences -- it would probably just be a wiser idea to 1) leave=
the
>> =C2=A0code alone with the issue documented or 2) implement stat(2) in th=
at
>> =C2=A0section of code, because we know it's a problem section of code th=
at
>> =C2=A0needs to be resolved. Not doing this will result in potential
>> =C2=A0regressive churn if it hasn't been adequately tested with a fine t=
ooth
>> =C2=A0comb.
--=20
Efstratios "GPF" Karatzas
--0016e6d78546bbf85a04826a5914
Content-Type: application/octet-stream; name="patch-2.diff"
Content-Disposition: attachment; filename="patch-2.diff"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_g73sc9n30
LS0tIG1haW4ub3JpZy5jCTIwMTAtMDMtMjIgMjI6NDg6MTkuMDAwMDAwMDAwICswMjAwCisrKyBt
YWluLmMJMjAxMC0wMy0yMiAyMzowMjo0NC4wMDAwMDAwMDAgKzAyMDAKQEAgLTIyLDYgKzIyLDgg
QEAKIF9fRkJTRElEKCIkRnJlZUJTRDogc3JjL3Vzci5zYmluL3BrZ19pbnN0YWxsL2FkZC9tYWlu
LmMsdiAxLjcyLjIuOS4yLjEgMjAxMC8wMi8xMCAwMDoyNjoyMCBrZW5zbWl0aCBFeHAgJCIpOwog
CiAjaW5jbHVkZSA8c3lzL3BhcmFtLmg+CisjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKyNpbmNsdWRl
IDxzeXMvdHlwZXMuaD4KICNpbmNsdWRlIDxzeXMvdXRzbmFtZS5oPgogI2luY2x1ZGUgPGVyci5o
PgogI2luY2x1ZGUgPGdldG9wdC5oPgpAQCAtMTI4LDYgKzEzMCw3IEBACiAgICAgY2hhciAqY3As
ICpwYWNrYWdlc2l0ZSA9IE5VTEwsICpyZW1vdGVwa2cgPSBOVUxMLCAqcHRyOwogICAgIHN0YXRp
YyBjaGFyIHRlbXBwYWNrYWdlcm9vdFtNQVhQQVRITEVOXTsKICAgICBzdGF0aWMgY2hhciBwa2dh
ZGRwYXRoW01BWFBBVEhMRU5dOworICAgIHN0cnVjdCBzdGF0IGR1bW15OwogCiAgICAgaWYgKCph
cmd2WzBdICE9ICcvJyAmJiBzdHJjaHIoYXJndlswXSwgJy8nKSAhPSBOVUxMKQogCVBrZ0FkZENt
ZCA9IHJlYWxwYXRoKGFyZ3ZbMF0sIHBrZ2FkZHBhdGgpOwpAQCAtMjQ1LDggKzI0OCwxMiBAQAog
CQkgICAgZXJyeCgxLCAicGFja2FnZSBuYW1lIHRvbyBsb25nIik7CiAJCXBrZ3NbY2hdID0gc3Ry
ZHVwKHRlbXApOwogCSAgICB9IGVsc2UgewkJCS8qIGV4cGFuZCBhbGwgcGF0aG5hbWVzIHRvIGZ1
bGxuYW1lcyAqLwotCQlpZiAoZmV4aXN0cygqYXJndikpIC8qIHJlZmVycyB0byBhIGZpbGUgZGly
ZWN0bHkgKi8KLQkJICAgIHBrZ3NbY2hdID0gc3RyZHVwKHJlYWxwYXRoKCphcmd2LCB0ZW1wKSk7
CisJCS8qIAorCQkgKiByZWZlcnMgdG8gYSBmaWxlIGRpcmVjdGx5OyBzdGF0KDIpIGlzIHVzZWQg
aW4gb3JkZXIgdG8gYXZvaWQgYnJva2VuIHN5bWxpbmtzLgorCQkgKiByYWNlIGNvbmRpdGlvbiBz
byBjaGVjayByZXR1cm4gdmFsdWUgb2YgcmVhbHBhdGgoMykgYW5kIGF2b2lkIHNlZ2ZhdWx0CisJ
CSAqLworCQlpZiAoIXN0YXQoKmFyZ3YsICZkdW1teSkgJiYgcmVhbHBhdGgoKmFyZ3YsIHRlbXAp
ICE9IE5VTEwpCisJCSAgICBwa2dzW2NoXSA9IHN0cmR1cCh0ZW1wKTsKIAkJZWxzZSB7CQkvKiBs
b29rIGZvciB0aGUgZmlsZSBpbiB0aGUgZXhwZWN0ZWQgcGxhY2VzICovCiAJCSAgICBpZiAoIShj
cCA9IGZpbGVGaW5kQnlQYXRoKE5VTEwsICphcmd2KSkpIHsKIAkJCS8qIGxldCBwa2dfZG8oKSBm
YWlsIGxhdGVyLCBzbyB0aGF0IGVycm9yIGlzIHJlcG9ydGVkICovCg==
--0016e6d78546bbf85a04826a5914--
More information about the freebsd-bugs
mailing list