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