bin/144644: [patch] Fix *alloc cornercases with config(1)
Garrett Cooper
gcooper at FreeBSD.org
Sun Mar 21 12:00:13 UTC 2010
The following reply was made to PR bin/144644; it has been noted by GNATS.
From: Garrett Cooper <gcooper at FreeBSD.org>
To: Garrett Cooper <gcooper at freebsd.org>
Cc: bug-followup <bug-followup at freebsd.org>, Ruslan Ermilov <ru at freebsd.org>
Subject: Re: bin/144644: [patch] Fix *alloc cornercases with config(1)
Date: Sun, 21 Mar 2010 04:58:18 -0700
--0016e646995ce547c604824e4b75
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
On Sat, Mar 13, 2010 at 12:36 AM, Garrett Cooper <gcooper at freebsd.org> wrot=
e:
> On Fri, Mar 12, 2010 at 11:28 PM, Garrett Cooper <yanegomi at gmail.com> wro=
te:
>> =A0 =A0The attached patch addresses the non-style(9) conformity with my
>> previous patch as pointed out by several folks on current at .
>
> Sorry -- missed a spot...
The following patch incorporates a logical change from errx(3) to
err(3) made by ru@ in an informal review. I also picked up a few other
logical messages that were originally errx(EXIT_ERR, ...) and
converted them to err(EXIT_ERR, ...) in a similar fashion.
Thanks,
-Garrett
--0016e646995ce547c604824e4b75
Content-Type: text/plain; charset=US-ASCII; name="config-failure-corner-cases.diff.txt"
Content-Disposition: attachment;
filename="config-failure-corner-cases.diff.txt"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_g71smkjn1
SW5kZXg6IG1rb3B0aW9ucy5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIG1rb3B0aW9ucy5jCShyZXZpc2lvbiAy
MDUxNTkpCisrKyBta29wdGlvbnMuYwkod29ya2luZyBjb3B5KQpAQCAtNzAsNiArNzAsOCBAQAog
CS8qIEZha2UgdGhlIGNwdSB0eXBlcyBhcyBvcHRpb25zLiAqLwogCVNMSVNUX0ZPUkVBQ0goY3As
ICZjcHV0eXBlLCBjcHVfbmV4dCkgewogCQlvcCA9IChzdHJ1Y3Qgb3B0ICopY2FsbG9jKDEsIHNp
emVvZigqb3ApKTsKKwkJaWYgKG9wID09IE5VTEwpCisJCQllcnIoRVhJVF9GQUlMVVJFLCAiY2Fs
bG9jIik7CiAJCW9wLT5vcF9uYW1lID0gbnMoY3AtPmNwdV9uYW1lKTsKIAkJU0xJU1RfSU5TRVJU
X0hFQUQoJm9wdCwgb3AsIG9wX25leHQpOwogCX0JCkBAIC04NCw2ICs4Niw4IEBACiAKIAkvKiBG
YWtlIE1BWFVTRVJTIGFzIGFuIG9wdGlvbi4gKi8KIAlvcCA9IChzdHJ1Y3Qgb3B0ICopY2FsbG9j
KDEsIHNpemVvZigqb3ApKTsKKwlpZiAob3AgPT0gTlVMTCkKKwkJZXJyKEVYSVRfRkFJTFVSRSwg
ImNhbGxvYyIpOwogCW9wLT5vcF9uYW1lID0gbnMoIk1BWFVTRVJTIik7CiAJc25wcmludGYoYnVm
LCBzaXplb2YoYnVmKSwgIiVkIiwgbWF4dXNlcnMpOwogCW9wLT5vcF92YWx1ZSA9IG5zKGJ1Zik7
CkBAIC0xOTksNiArMjAzLDggQEAKIAkJCXRpZHkrKzsKIAkJfSBlbHNlIHsKIAkJCW9wID0gKHN0
cnVjdCBvcHQgKikgY2FsbG9jKDEsIHNpemVvZiAqb3ApOworCQkJaWYgKG9wID09IE5VTEwpCisJ
CQkJZXJyKEVYSVRfRkFJTFVSRSwgImNhbGxvYyIpOwogCQkJb3AtPm9wX25hbWUgPSBpbnc7CiAJ
CQlvcC0+b3BfdmFsdWUgPSBpbnZhbHVlOwogCQkJU0xJU1RfSU5TRVJUX0hFQUQoJm9wX2hlYWQs
IG9wLCBvcF9uZXh0KTsKQEAgLTIyNSw2ICsyMzEsOCBAQAogCWlmICh2YWx1ZSAmJiAhc2Vlbikg
ewogCQkvKiBOZXcgb3B0aW9uIGFwcGVhcnMgKi8KIAkJb3AgPSAoc3RydWN0IG9wdCAqKSBjYWxs
b2MoMSwgc2l6ZW9mICpvcCk7CisJCWlmIChvcCA9PSBOVUxMKQorCQkJZXJyKEVYSVRfRkFJTFVS
RSwgImNhbGxvYyIpOwogCQlvcC0+b3BfbmFtZSA9IG5zKG5hbWUpOwogCQlvcC0+b3BfdmFsdWUg
PSB2YWx1ZSA/IG5zKHZhbHVlKSA6IE5VTEw7CiAJCVNMSVNUX0lOU0VSVF9IRUFEKCZvcF9oZWFk
LCBvcCwgb3BfbmV4dCk7CkBAIC0zMzYsNiArMzQ0LDggQEAKIAl9CiAJCiAJcG8gPSAoc3RydWN0
IG9wdF9saXN0ICopIGNhbGxvYygxLCBzaXplb2YgKnBvKTsKKwlpZiAocG8gPT0gTlVMTCkKKwkJ
ZXJyKEVYSVRfRkFJTFVSRSwgImNhbGxvYyIpOwogCXBvLT5vX25hbWUgPSB0aGlzOwogCXBvLT5v
X2ZpbGUgPSB2YWw7CiAJU0xJU1RfSU5TRVJUX0hFQUQoJm90YWIsIHBvLCBvX25leHQpOwpJbmRl
eDogbWFpbi5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIG1haW4uYwkocmV2aXNpb24gMjA1MTU5KQorKysgbWFp
bi5jCSh3b3JraW5nIGNvcHkpCkBAIC0xMjAsNyArMTIwLDcgQEAKIAkJCWlmICgqZGVzdGRpciA9
PSAnXDAnKQogCQkJCXN0cmxjcHkoZGVzdGRpciwgb3B0YXJnLCBzaXplb2YoZGVzdGRpcikpOwog
CQkJZWxzZQotCQkJCWVycngoMiwgImRpcmVjdG9yeSBhbHJlYWR5IHNldCIpOworCQkJCWVycihF
WElUX0ZBSUxVUkUsICJkaXJlY3RvcnkgYWxyZWFkeSBzZXQiKTsKIAkJCWJyZWFrOwogCQljYXNl
ICdnJzoKIAkJCWRlYnVnZ2luZysrOwpAQCAtMTc1LDcgKzE3NSw3IEBACiAJCWlmIChta2Rpcihw
LCAwNzc3KSkKIAkJCWVycigyLCAiJXMiLCBwKTsKIAl9IGVsc2UgaWYgKCFTX0lTRElSKGJ1Zi5z
dF9tb2RlKSkKLQkJZXJyeCgyLCAiJXMgaXNuJ3QgYSBkaXJlY3RvcnkiLCBwKTsKKwkJZXJyKEVY
SVRfRkFJTFVSRSwgIiVzIGlzbid0IGEgZGlyZWN0b3J5IiwgcCk7CiAKIAlTTElTVF9JTklUKCZj
cHV0eXBlKTsKIAlTTElTVF9JTklUKCZta29wdCk7CkBAIC0yNTYsNyArMjU2LDcgQEAKIAlpbnQg
aTsKIAogCWlmIChyZWFscGF0aCgiLi4vLi4iLCBzcmNkaXIpID09IE5VTEwpCi0JCWVycngoMiwg
IlVuYWJsZSB0byBmaW5kIHJvb3Qgb2Ygc291cmNlIHRyZWUiKTsKKwkJZXJyKEVYSVRfRkFJTFVS
RSwgIlVuYWJsZSB0byBmaW5kIHJvb3Qgb2Ygc291cmNlIHRyZWUiKTsKIAlpZiAoKHB3ZCA9IGdl
dGVudigiUFdEIikpICE9IE5VTEwgJiYgKnB3ZCA9PSAnLycgJiYKIAkgICAgKHB3ZCA9IHN0cmR1
cChwd2QpKSAhPSBOVUxMKSB7CiAJCS8qIFJlbW92ZSB0aGUgbGFzdCB0d28gcGF0aCBjb21wb25l
bnRzLiAqLwpAQCAtNTE5LDcgKzUxOSw3IEBACiAJICovCiAJcCA9IHN0cnN0cihrZXJuY29uZnN0
ciwgS0VSTkNPTkZUQUcpOwogCWlmIChwID09IE5VTEwpCi0JCWVycngoRVhJVF9GQUlMVVJFLCAi
U29tZXRoaW5nIHdlbnQgdGVycmlibHkgd3JvbmchIik7CisJCWVycihFWElUX0ZBSUxVUkUsICJT
b21ldGhpbmcgd2VudCB0ZXJyaWJseSB3cm9uZyEiKTsKIAkqcCA9ICdcMCc7CiAJZnByaW50Zihm
bywgIiVzIiwga2VybmNvbmZzdHIpOwogCWZwcmludGYoZm8sICIlcyIsIHNidWZfZGF0YShzYikp
OwpAQCAtNjUwLDYgKzY1MCw4IEBACiAJCX0KIAl9CiAJaGwgPSBjYWxsb2MoMSwgc2l6ZW9mKCpo
bCkpOworCWlmIChobCA9PSBOVUxMKQorCQllcnIoRVhJVF9GQUlMVVJFLCAiY2FsbG9jIik7CiAJ
aGwtPmhfbmFtZSA9IHM7CiAJaGwtPmhfbmV4dCA9IGh0YWI7CiAJaHRhYiA9IGhsOwpAQCAtNjcx
LDE5ICs2NzMsMTkgQEAKIAogCXIgPSBvcGVuKGZpbGUsIE9fUkRPTkxZKTsKIAlpZiAociA9PSAt
MSkKLQkJZXJyeChFWElUX0ZBSUxVUkUsICJDb3VsZG4ndCBvcGVuIGZpbGUgJyVzJyIsIGZpbGUp
OworCQllcnIoRVhJVF9GQUlMVVJFLCAiQ291bGRuJ3Qgb3BlbiBmaWxlICclcyciLCBmaWxlKTsK
IAllcnJvciA9IGZzdGF0KHIsICZzdCk7CiAJaWYgKGVycm9yID09IC0xKQotCQllcnJ4KEVYSVRf
RkFJTFVSRSwgImZzdGF0KCkgZmFpbGVkIik7CisJCWVycihFWElUX0ZBSUxVUkUsICJmc3RhdCgp
IGZhaWxlZCIpOwogCWlmIChTX0lTRElSKHN0LnN0X21vZGUpKQotCQllcnJ4KEVYSVRfRkFJTFVS
RSwgIiclcycgaXMgYSBkaXJlY3RvcnkiLCBmaWxlKTsKKwkJZXJyKEVYSVRfRkFJTFVSRSwgIicl
cycgaXMgYSBkaXJlY3RvcnkiLCBmaWxlKTsKIAlmcCA9IGZkb3BlbihyLCAiciIpOwogCWlmIChm
cCA9PSBOVUxMKQotCQllcnJ4KEVYSVRfRkFJTFVSRSwgImZkb3BlbigpIGZhaWxlZCIpOworCQll
cnIoRVhJVF9GQUlMVVJFLCAiZmRvcGVuKCkgZmFpbGVkIik7CiAJb3N6ID0gMTAyNDsKIAlvID0g
Y2FsbG9jKDEsIG9zeik7CiAJaWYgKG8gPT0gTlVMTCkKLQkJZXJyeChFWElUX0ZBSUxVUkUsICJD
b3VsZG4ndCBhbGxvY2F0ZSBtZW1vcnkiKTsKKwkJZXJyKEVYSVRfRkFJTFVSRSwgIkNvdWxkbid0
IGFsbG9jYXRlIG1lbW9yeSIpOwogCS8qIEVMRiBub3RlIHNlY3Rpb24gaGVhZGVyLiAqLwogCWFz
cHJpbnRmKCZjbWQsICIvdXNyL2Jpbi9lbGZkdW1wIC1jICVzIHwgZ3JlcCAtQSA1IGtlcm5fY29u
ZiIKIAkgICAgInwgdGFpbCAtMiB8IGN1dCAtZCAnICcgLWYgMiB8IHBhc3RlIC0gLSAtIiwgZmls
ZSk7CkBAIC02OTEsNyArNjkzLDcgQEAKIAkJZXJyeChFWElUX0ZBSUxVUkUsICJhc3ByaW50Zigp
IGZhaWxlZCIpOwogCXBwID0gcG9wZW4oY21kLCAiciIpOwogCWlmIChwcCA9PSBOVUxMKQotCQll
cnJ4KEVYSVRfRkFJTFVSRSwgInBvcGVuKCkgZmFpbGVkIik7CisJCWVycihFWElUX0ZBSUxVUkUs
ICJwb3BlbigpIGZhaWxlZCIpOwogCWZyZWUoY21kKTsKIAlsZW4gPSBmcmVhZChvLCBvc3osIDEs
IHBwKTsKIAlwY2xvc2UocHApOwpAQCAtNzAzLDcgKzcwNSw3IEBACiAJCSAgICAiSU5DTFVERV9D
T05GSUdfRklMRSIsIGZpbGUpOwogCXIgPSBmc2VlayhmcCwgb2ZmLCBTRUVLX0NVUik7CiAJaWYg
KHIgIT0gMCkKLQkJZXJyeChFWElUX0ZBSUxVUkUsICJmc2VlaygpIGZhaWxlZCIpOworCQllcnIo
RVhJVF9GQUlMVVJFLCAiZnNlZWsoKSBmYWlsZWQiKTsKIAlmb3IgKGkgPSAwOyBpIDwgc2l6ZSAt
IDE7IGkrKykgewogCQlyID0gZmdldGMoZnApOwogCQlpZiAociA9PSBFT0YpCkluZGV4OiBta21h
a2VmaWxlLmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gbWttYWtlZmlsZS5jCShyZXZpc2lvbiAyMDUxNTkpCisr
KyBta21ha2VmaWxlLmMJKHdvcmtpbmcgY29weSkKQEAgLTk4LDYgKzk4LDggQEAKIAlzdHJ1Y3Qg
ZmlsZV9saXN0ICpmcDsKIAogCWZwID0gKHN0cnVjdCBmaWxlX2xpc3QgKikgY2FsbG9jKDEsIHNp
emVvZiAqZnApOworCWlmIChmcCA9PSBOVUxMKQorCQllcnIoRVhJVF9GQUlMVVJFLCAiY2FsbG9j
Iik7CiAJU1RBSUxRX0lOU0VSVF9UQUlMKCZmdGFiLCBmcCwgZl9uZXh0KTsKIAlyZXR1cm4gKGZw
KTsKIH0KSW5kZXg6IGxhbmcubAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBsYW5nLmwJKHJldmlzaW9uIDIwNTE1
OSkKKysrIGxhbmcubAkod29ya2luZyBjb3B5KQpAQCAtMzEsNiArMzEsNyBAQAogICogJEZyZWVC
U0QkCiAgKi8KIAorI2luY2x1ZGUgPGVyci5oPgogI2luY2x1ZGUgPGFzc2VydC5oPgogI2luY2x1
ZGUgPGN0eXBlLmg+CiAjaW5jbHVkZSA8c3RyaW5nLmg+CkBAIC0yMjAsNiArMjIxLDggQEAKIAlz
dHJ1Y3QgY2ZnZmlsZSAqY2Y7CiAKIAljZiA9IGNhbGxvYygxLCBzaXplb2YoKmNmKSk7CisJaWYg
KGNmID09IE5VTEwpCisJCWVycihFWElUX0ZBSUxVUkUsICJjYWxsb2MiKTsKIAlhc3NlcnQoY2Yg
IT0gTlVMTCk7CiAJYXNwcmludGYoJmNmLT5jZmdfcGF0aCwgIiVzIiwgZm5hbWUpOwogCVNUQUlM
UV9JTlNFUlRfVEFJTCgmY2ZnZmlsZXMsIGNmLCBjZmdfbmV4dCk7CkluZGV4OiBjb25maWcueQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBjb25maWcueQkocmV2aXNpb24gMjA1MTU5KQorKysgY29uZmlnLnkJKHdv
cmtpbmcgY29weSkKQEAgLTE2Niw2ICsxNjYsOCBAQAogCUNQVSBTYXZlX2lkIHsKIAkJc3RydWN0
IGNwdXR5cGUgKmNwID0KIAkJICAgIChzdHJ1Y3QgY3B1dHlwZSAqKWNhbGxvYygxLCBzaXplb2Yg
KHN0cnVjdCBjcHV0eXBlKSk7CisJCWlmIChjcCA9PSBOVUxMKQorCQkJZXJyKEVYSVRfRkFJTFVS
RSwgImNhbGxvYyIpOwogCQljcC0+Y3B1X25hbWUgPSAkMjsKIAkJU0xJU1RfSU5TRVJUX0hFQUQo
JmNwdXR5cGUsIGNwLCBjcHVfbmV4dCk7CiAJICAgICAgfSB8CkBAIC0xOTcsNiArMTk5LDggQEAK
IAkJc3RydWN0IGhpbnQgKmhpbnQ7CiAKIAkJaGludCA9IChzdHJ1Y3QgaGludCAqKWNhbGxvYygx
LCBzaXplb2YgKHN0cnVjdCBoaW50KSk7CisJCWlmIChoaW50ID09IE5VTEwpCisJCQllcnIoRVhJ
VF9GQUlMVVJFLCAiY2FsbG9jIik7CQogCQloaW50LT5oaW50X25hbWUgPSAkMjsKIAkJU1RBSUxR
X0lOU0VSVF9UQUlMKCZoaW50cywgaGludCwgaGludF9uZXh0KTsKIAkJaGludG1vZGUgPSAxOwpA
QCAtMzMxLDYgKzMzNSw4IEBACiAJc3RydWN0IGZpbGVzX25hbWUgKm5sOwogCQogCW5sID0gKHN0
cnVjdCBmaWxlc19uYW1lICopIGNhbGxvYygxLCBzaXplb2YgKm5sKTsKKwlpZiAobmwgPT0gTlVM
TCkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgImNhbGxvYyIpOwogCW5sLT5mX25hbWUgPSBuYW1lOwog
CVNUQUlMUV9JTlNFUlRfVEFJTCgmZm50YWIsIG5sLCBmX25leHQpOwogfQpAQCAtMzY0LDYgKzM3
MCw4IEBACiAJfQogCiAJbnAgPSAoc3RydWN0IGRldmljZSAqKSBjYWxsb2MoMSwgc2l6ZW9mICpu
cCk7CisJaWYgKG5wID09IE5VTEwpCisJCWVycihFWElUX0ZBSUxVUkUsICJjYWxsb2MiKTsKIAlu
cC0+ZF9uYW1lID0gbmFtZTsKIAlTVEFJTFFfSU5TRVJUX1RBSUwoJmR0YWIsIG5wLCBkX25leHQp
OwogfQpAQCAtNDIyLDYgKzQzMCw4IEBACiAJfQogCiAJb3AgPSAoc3RydWN0IG9wdCAqKWNhbGxv
YygxLCBzaXplb2YgKHN0cnVjdCBvcHQpKTsKKwlpZiAob3AgPT0gTlVMTCkKKwkJZXJyKEVYSVRf
RkFJTFVSRSwgImNhbGxvYyIpOwogCW9wLT5vcF9uYW1lID0gbmFtZTsKIAlvcC0+b3Bfb3duZmls
ZSA9IDA7CiAJb3AtPm9wX3ZhbHVlID0gdmFsdWU7Cg==
--0016e646995ce547c604824e4b75--
More information about the freebsd-bugs
mailing list