This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
reentr.c: Handle getspnam()
authorKarl Williamson <khw@cpan.org>
Wed, 11 Mar 2020 18:24:33 +0000 (12:24 -0600)
committerKarl Williamson <khw@cpan.org>
Wed, 18 Mar 2020 20:29:46 +0000 (14:29 -0600)
commit5baa389e84c8348c7335cd8e58d1a2f6f917f7e4
tree9c680609ae48e379e7f855f03d4b9613d664682c
parent5f47881659a0e7bfbe5db3cda32beec498c07696
reentr.c: Handle getspnam()

This has never worked to increase the buffer size if necessary.
Apparently the default has always been big enough.  But this commit
fixes it to retry if too small.

I don't think there is a way to write tests for this.  getspnam is
called only as a small part of pp_gpwent, and is not part of the API,
and is called only when run as root.

I did test it on my box, with gdb, starting with a buffer size of 1, and
single stepping and observing that it works as I expected.
reentr.c
reentr.h
regen/reentr.pl