Date: Sat, 27 Apr 2013 16:38:46 -0400 (EDT) From: Rick Macklem <rmacklem@uoguelph.ca> To: freebsd-hackers@freebsd.org Subject: review of patches for the gssd that handle getpwXX_r ERANGE return Message-ID: <1513398963.1192605.1367095126723.JavaMail.root@erie.cs.uoguelph.ca> In-Reply-To: <1589161980.1192602.1367095122855.JavaMail.root@erie.cs.uoguelph.ca>
next in thread | previous in thread | raw e-mail | index | archive | help
------=_Part_1192604_1659352415.1367095126720 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Hi, I have attached two patches, which can also be found at: http://people.freebsd.org/~rmacklem/getpw.patch1 and getpw.patch2 They are almost identical and handle the ERANGE error return from getpw[nam|uid]_r() when buf[128] isn't large enough. Is anyone interested in reviewing these? (This has been discussed some time ago, but the patch was never reviewed. Actually I reviewed a patch similar to this, but the submitter subsequently requested that I not use their patch, so I wrote similar ones.) Thanks in advance for any review, rick ------=_Part_1192604_1659352415.1367095126720 Content-Type: text/x-patch; name=getpw.patch1 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=getpw.patch1 LS0tIHVzci5zYmluL2dzc2QvZ3NzZC5jLnNhdgkyMDEzLTA0LTI2IDIwOjM4OjQ1LjAwMDAwMDAw MCAtMDQwMAorKysgdXNyLnNiaW4vZ3NzZC9nc3NkLmMJMjAxMy0wNC0yNiAyMDozODo1My4wMDAw MDAwMDAgLTA0MDAKQEAgLTM3LDYgKzM3LDcgQEAgX19GQlNESUQoIiRGcmVlQlNEOiBoZWFkL3Vz ci5zYmluL2dzc2QvZwogI2luY2x1ZGUgPGN0eXBlLmg+CiAjaW5jbHVkZSA8ZGlyZW50Lmg+CiAj aW5jbHVkZSA8ZXJyLmg+CisjaW5jbHVkZSA8ZXJybm8uaD4KICNpZm5kZWYgV0lUSE9VVF9LRVJC RVJPUwogI2luY2x1ZGUgPGtyYjUuaD4KICNlbmRpZgpAQCAtNTU3LDggKzU1OCwxMSBAQCBnc3Nk X3BuYW1lX3RvX3VpZF8xX3N2YyhwbmFtZV90b191aWRfYXJnCiB7CiAJZ3NzX25hbWVfdCBuYW1l ID0gZ3NzZF9maW5kX3Jlc291cmNlKGFyZ3AtPnBuYW1lKTsKIAl1aWRfdCB1aWQ7Ci0JY2hhciBi dWZbMTI4XTsKKwljaGFyIGJ1ZlsxMDI0XSwgKmJ1ZnA7CiAJc3RydWN0IHBhc3N3ZCBwd2QsICpw dzsKKwlzaXplX3QgYnVmbGVuOworCWludCBlcnJvcjsKKwlzdGF0aWMgc2l6ZV90IGJ1Zmxlbl9o aW50ID0gMTAyNDsKIAogCW1lbXNldChyZXN1bHQsIDAsIHNpemVvZigqcmVzdWx0KSk7CiAJaWYg KG5hbWUpIHsKQEAgLTU2Nyw3ICs1NzEsMjQgQEAgZ3NzZF9wbmFtZV90b191aWRfMV9zdmMocG5h bWVfdG9fdWlkX2FyZwogCQkJICAgIG5hbWUsIGFyZ3AtPm1lY2gsICZ1aWQpOwogCQlpZiAocmVz dWx0LT5tYWpvcl9zdGF0dXMgPT0gR1NTX1NfQ09NUExFVEUpIHsKIAkJCXJlc3VsdC0+dWlkID0g dWlkOwotCQkJZ2V0cHd1aWRfcih1aWQsICZwd2QsIGJ1Ziwgc2l6ZW9mKGJ1ZiksICZwdyk7CisJ CQlidWZsZW4gPSBidWZsZW5faGludDsKKwkJCWZvciAoOzspIHsKKwkJCQlwdyA9IE5VTEw7CisJ CQkJYnVmcCA9IGJ1ZjsKKwkJCQlpZiAoYnVmbGVuID4gc2l6ZW9mKGJ1ZikpCisJCQkJCWJ1ZnAg PSBtYWxsb2MoYnVmbGVuKTsKKwkJCQlpZiAoYnVmcCA9PSBOVUxMKQorCQkJCQlicmVhazsKKwkJ CQllcnJvciA9IGdldHB3dWlkX3IodWlkLCAmcHdkLCBidWZwLCBidWZsZW4sCisJCQkJICAgICZw dyk7CisJCQkJaWYgKGVycm9yICE9IEVSQU5HRSkKKwkJCQkJYnJlYWs7CisJCQkJaWYgKGJ1Zmxl biA+IHNpemVvZihidWYpKQorCQkJCQlmcmVlKGJ1ZnApOworCQkJCWJ1ZmxlbiArPSAxMDI0Owor CQkJCWlmIChidWZsZW4gPiBidWZsZW5faGludCkKKwkJCQkJYnVmbGVuX2hpbnQgPSBidWZsZW47 CisJCQl9CiAJCQlpZiAocHcpIHsKIAkJCQlpbnQgbGVuID0gTkdSUFM7CiAJCQkJaW50IGdyb3Vw c1tOR1JQU107CkBAIC01ODQsNiArNjA1LDggQEAgZ3NzZF9wbmFtZV90b191aWRfMV9zdmMocG5h bWVfdG9fdWlkX2FyZwogCQkJCXJlc3VsdC0+Z2lkbGlzdC5naWRsaXN0X2xlbiA9IDA7CiAJCQkJ cmVzdWx0LT5naWRsaXN0LmdpZGxpc3RfdmFsID0gTlVMTDsKIAkJCX0KKwkJCWlmIChidWZwICE9 IE5VTEwgJiYgYnVmbGVuID4gc2l6ZW9mKGJ1ZikpCisJCQkJZnJlZShidWZwKTsKIAkJfQogCX0g ZWxzZSB7CiAJCXJlc3VsdC0+bWFqb3Jfc3RhdHVzID0gR1NTX1NfQkFEX05BTUU7Cg== ------=_Part_1192604_1659352415.1367095126720 Content-Type: text/x-patch; name=getpw.patch2 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=getpw.patch2 LS0tIGtlcmJlcm9zNS9saWIvbGliZ3NzYXBpX2tyYjUvcG5hbWVfdG9fdWlkLmMuc2F2CTIwMTMt MDQtMjYgMjA6Mzc6NDUuMDAwMDAwMDAwIC0wNDAwCisrKyBrZXJiZXJvczUvbGliL2xpYmdzc2Fw aV9rcmI1L3BuYW1lX3RvX3VpZC5jCTIwMTMtMDQtMjcgMTY6MjU6MTQuMDAwMDAwMDAwIC0wNDAw CkBAIC0yNiw2ICsyNiw3IEBACiAgKi8KIC8qICRGcmVlQlNEOiBoZWFkL2tlcmJlcm9zNS9saWIv bGliZ3NzYXBpX2tyYjUvcG5hbWVfdG9fdWlkLmMgMTgxMzQ0IDIwMDgtMDgtMDYgMTQ6MDI6MDVa IGRmciAkICovCiAKKyNpbmNsdWRlIDxlcnJuby5oPgogI2luY2x1ZGUgPHB3ZC5oPgogCiAjaW5j bHVkZSAia3JiNS9nc3NrcmI1X2xvY2wuaCIKQEAgLTM3LDggKzM4LDEyIEBAIF9nc3NrcmI1X3Bu YW1lX3RvX3VpZChPTV91aW50MzIgKm1pbm9yX3MKIAlrcmI1X2NvbnRleHQgY29udGV4dDsKIAlr cmI1X2NvbnN0X3ByaW5jaXBhbCBuYW1lID0gKGtyYjVfY29uc3RfcHJpbmNpcGFsKSBwbmFtZTsK IAlrcmI1X2Vycm9yX2NvZGUga3JldDsKLQljaGFyIGxuYW1lW01BWExPR05BTUUgKyAxXSwgYnVm WzEyOF07CisJY2hhciBsbmFtZVtNQVhMT0dOQU1FICsgMV0sIGJ1ZlsxMDI0XSwgKmJ1ZnA7CiAJ c3RydWN0IHBhc3N3ZCBwd2QsICpwdzsKKwlzaXplX3QgYnVmbGVuOworCWludCBlcnJvcjsKKwlP TV91aW50MzIgcmV0OworCXN0YXRpYyBzaXplX3QgYnVmbGVuX2hpbnQgPSAxMDI0OwogCiAJR1NT QVBJX0tSQjVfSU5JVCAoJmNvbnRleHQpOwogCkBAIC00OSwxMSArNTQsMzAgQEAgX2dzc2tyYjVf cG5hbWVfdG9fdWlkKE9NX3VpbnQzMiAqbWlub3JfcwogCX0KIAogCSptaW5vcl9zdGF0dXMgPSAw OwotCWdldHB3bmFtX3IobG5hbWUsICZwd2QsIGJ1Ziwgc2l6ZW9mKGJ1ZiksICZwdyk7CisJYnVm bGVuID0gYnVmbGVuX2hpbnQ7CisJZm9yICg7OykgeworCQlwdyA9IE5VTEw7CisJCWJ1ZnAgPSBi dWY7CisJCWlmIChidWZsZW4gPiBzaXplb2YoYnVmKSkKKwkJCWJ1ZnAgPSBtYWxsb2MoYnVmbGVu KTsKKwkJaWYgKGJ1ZnAgPT0gTlVMTCkKKwkJCWJyZWFrOworCQllcnJvciA9IGdldHB3bmFtX3Io bG5hbWUsICZwd2QsIGJ1ZnAsIGJ1ZmxlbiwgJnB3KTsKKwkJaWYgKGVycm9yICE9IEVSQU5HRSkK KwkJCWJyZWFrOworCQlpZiAoYnVmbGVuID4gc2l6ZW9mKGJ1ZikpCisJCQlmcmVlKGJ1ZnApOwor CQlidWZsZW4gKz0gMTAyNDsKKwkJaWYgKGJ1ZmxlbiA+IGJ1Zmxlbl9oaW50KQorCQkJYnVmbGVu X2hpbnQgPSBidWZsZW47CisJfQogCWlmIChwdykgewogCQkqdWlkcCA9IHB3LT5wd191aWQ7Ci0J CXJldHVybiAoR1NTX1NfQ09NUExFVEUpOworCQlyZXQgPSBHU1NfU19DT01QTEVURTsKIAl9IGVs c2UgewotCQlyZXR1cm4gKEdTU19TX0ZBSUxVUkUpOworCQlyZXQgPSBHU1NfU19GQUlMVVJFOwog CX0KKwlpZiAoYnVmcCAhPSBOVUxMICYmIGJ1ZmxlbiA+IHNpemVvZihidWYpKQorCQlmcmVlKGJ1 ZnApOworCXJldHVybiAocmV0KTsKIH0K ------=_Part_1192604_1659352415.1367095126720--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1513398963.1192605.1367095126723.JavaMail.root>