Greetings:

I have to ask everyone here to ascertain if I'm going daft.  Here's the
situation:

32-bit Perl on 64-bit Perl platform.  getpwent(2) returns 64-bit UIDs just
fine.  getgrent(2), however, truncates them to a 32-bit value.  GIDs
returned from functions like stat(2) work just fine, however.

I'm seeing this on AIX 5.3:

# perl -e 'do { @pw = getpwent } until $pw[0] eq "nobody"; print $pw[2], "\n";'
4294967294
# perl -e 'do { @pw = getpwent } until $pw[0] eq "nobody"; print $pw[3], "\n";'
4294967294
# perl -e 'do { @pw = getgrent } until $pw[0] eq "nobody"; print $pw[2], "\n";'
-2
# grep nobody /etc/passwd /etc/group
/etc/passwd:nobody:!:4294967294:4294967294::/:
/etc/group:nobody:!:4294967294:nobody,lpd

Legitimate bug in Perl?  This one is version 5.8.2, BTW.

        --Arthur Corliss
          Live Free or Die

Reply via email to