--===============1689119695==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable
New submission from Stathis Kamperis <ekamperi@gmail.com>:
Salute.
getcwd(3) returns EINVAL if the supplied buffer length is 0 or 1 and ENOMEM
(duh!) if the length is greater than 1 but can't hold pathname + 1.
POSIX expects getcwd() to return EINVAL if length is 0 and ERANGE if length=
is
greater than 0 but less than pathname + 1.
I attach a patch to review. I've built a kernel and running it at the mome=
nt.
So far nothing bro
----------
assignedto: Beket
files: getcwd.diff
messages: 6722
nosy: Beket
priority: bug
status: unread
title: [PATCH] getcwd(3) returns wrong error codes
_____________________________________________________
DragonFly issue tracker <bugs@lists.dragonflybsd.org>
<http://bugs.dragonflybsd.org/issue1394>
_____________________________________________________
--===============1689119695==
Content-Type: application/octet-stream
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename="getcwd.diff"
ZGlmZiAtLWdpdCBhL3N5cy9rZXJuL3Zmc19jYWNoZS5jIGIvc3lzL2tlcm4vdmZzX2NhY2hlLmMK
aW5kZXggZGM5YmE2ZC4uNzA3YzE4ZiAxMDA2NDQKLS0tIGEvc3lzL2tlcm4vdmZzX2NhY2hlLmMK
KysrIGIvc3lzL2tlcm4vdmZzX2NhY2hlLmMKQEAgLTIzODIsNyArMjM4Miw3IEBAIHN5c19fX2dl
dGN3ZChzdHJ1Y3QgX19nZXRjd2RfYXJncyAqdWFwKQogCQlyZXR1cm4gKEVOT0RFVik7CiAKIAli
dWZsZW4gPSB1YXAtPmJ1ZmxlbjsKLQlpZiAoYnVmbGVuIDwgMikKKwlpZiAoYnVmbGVuID09IDAp
CiAJCXJldHVybiAoRUlOVkFMKTsKIAlpZiAoYnVmbGVuID4gTUFYUEFUSExFTikKIAkJYnVmbGVu
ID0gTUFYUEFUSExFTjsKQEAgLTI0MzEsMTQgKzI0MzEsMTQgQEAga2Vybl9nZXRjd2QoY2hhciAq
YnVmLCBzaXplX3QgYnVmbGVuLCBpbnQgKmVycm9yKQogCQlmb3IgKGkgPSBuY2gubmNwLT5uY19u
bGVuIC0gMTsgaSA+PSAwOyBpLS0pIHsKIAkJCWlmIChicCA9PSBidWYpIHsKIAkJCQludW1jd2Rm
YWlsNCsrOwotCQkJCSplcnJvciA9IEVOT01FTTsKKwkJCQkqZXJyb3IgPSBFUkFOR0U7CiAJCQkJ
cmV0dXJuKE5VTEwpOwogCQkJfQogCQkJKi0tYnAgPSBuY2gubmNwLT5uY19uYW1lW2ldOwogCQl9
CiAJCWlmIChicCA9PSBidWYpIHsKIAkJCW51bWN3ZGZhaWw0Kys7Ci0JCQkqZXJyb3IgPSBFTk9N
RU07CisJCQkqZXJyb3IgPSBFUkFOR0U7CiAJCQlyZXR1cm4oTlVMTCk7CiAJCX0KIAkJKi0tYnAg
PSAnLyc7CkBAIC0yNDU4LDcgKzI0NTgsNyBAQCBrZXJuX2dldGN3ZChjaGFyICpidWYsIHNpemVf
dCBidWZsZW4sIGludCAqZXJyb3IpCiAJaWYgKCFzbGFzaF9wcmVmaXhlZCkgewogCQlpZiAoYnAg
PT0gYnVmKSB7CiAJCQludW1jd2RmYWlsNCsrOwotCQkJKmVycm9yID0gRU5PTUVNOworCQkJKmVy
cm9yID0gRVJBTkdFOwogCQkJcmV0dXJuKE5VTEwpOwogCQl9CiAJCSotLWJwID0gJy8nOwo=
--===============1689119695==--