Fixed bug that cause ntfs_attr_p{read,write} fail on resident encrypted attribute

(Logical change 1.448)
edge.strict_endians
(none)!yura 2004-07-08 20:19:52 +00:00
parent 631668c253
commit 5d43e167d5
1 changed files with 6 additions and 6 deletions

View File

@ -713,10 +713,10 @@ s64 ntfs_attr_pread(ntfs_attr *na, const s64 pos, s64 count, void *b)
if (NAttrCompressed(na) && NAttrNonResident(na))
return ntfs_compressed_attr_pread(na, pos, count, b);
/*
* Encrypted attributes are not supported. We return access denied,
* which is what Windows NT4 does, too.
* Encrypted non-resident attributes are not supported. We return
* access denied, which is what Windows NT4 does, too.
*/
if (NAttrEncrypted(na)) {
if (NAttrEncrypted(na) && NAttrNonResident(na)) {
errno = EACCES;
return -1;
}
@ -878,10 +878,10 @@ s64 ntfs_attr_pwrite(ntfs_attr *na, const s64 pos, s64 count, void *b)
}
vol = na->ni->vol;
/*
* Encrypted attributes are not supported. We return access denied,
* which is what Windows NT4 does, too.
* Encrypted non-resident attributes are not supported. We return
* access denied, which is what Windows NT4 does, too.
*/
if (NAttrEncrypted(na)) {
if (NAttrEncrypted(na) && NAttrNonResident(na)) {
errno = EACCES;
return -1;
}