diff options
author | rwatson <rwatson@FreeBSD.org> | 2001-04-02 01:02:32 +0000 |
---|---|---|
committer | rwatson <rwatson@FreeBSD.org> | 2001-04-02 01:02:32 +0000 |
commit | 3100bf9079fdce415a0e7394dfaeb5914b09c958 (patch) | |
tree | 89112cb3cb092acfed7006aa4fe784e167f8a3a6 /lib/libc/regex/regex2.h | |
parent | 7526515200d98995fbd83fb535488a7baa2b01f9 (diff) | |
download | FreeBSD-src-3100bf9079fdce415a0e7394dfaeb5914b09c958.zip FreeBSD-src-3100bf9079fdce415a0e7394dfaeb5914b09c958.tar.gz |
o Correct an ACL implementation bug that could result in a system panic
under heavy use when default ACLs were bgin inherited by new files
or directories. This is done by removing a bug in default ACL
reading, and improving error handling for this failure case:
- Move the setting of the buffer length (len) variable to above the
ACL type (ap->a_type) switch rather than having it only for
ACL_TYPE_ACCESS. Otherwise, the len variable is unitialized in
the ACL_TYPE_DEFAULT case, which generally worked right, but could
result in failure.
- Add a check for a short/long read of the ACL_TYPE_DEFAULT type from
the underlying EA, resulting in EPERM rather than passing a
potentially corrupted ACL back to the caller (resulting "cleaner"
failures if the EA is damaged: right now, the caller will almost
always panic in the presence of a corrupted EA). This code is similar
to code in the ACL_TYPE_ACCESS handling in the previous switch case.
- While I'm fixing this code, remove a redundant bzero() of the ACL
reader buffer; it need only be initialized above the acl_type
switch.
Obtained from: TrustedBSD Project
Diffstat (limited to 'lib/libc/regex/regex2.h')
0 files changed, 0 insertions, 0 deletions