* security.cc (read_sd): Return 1 on success because we
can't rely on the returned SD size from GetFileSecurity.
This commit is contained in:
parent
64dcb07652
commit
dd67f9db6a
@ -1,3 +1,8 @@
|
||||
Tue May 2 11:34:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
||||
|
||||
* security.cc (read_sd): Return 1 on success because we
|
||||
can't rely on the returned SD size from GetFileSecurity.
|
||||
|
||||
Tue May 2 2:22:00 2000 Corinna Vinschen <corinna@vinschen.de>
|
||||
|
||||
* dcrt0.cc: Add dynamic load code for `OemToCharA' from user32.dll.
|
||||
|
@ -376,13 +376,18 @@ got_it:
|
||||
|
||||
/* read_sd reads a security descriptor from a file.
|
||||
In case of error, -1 is returned and errno is set.
|
||||
If the file doesn't have a SD, 0 is returned.
|
||||
Otherwise, the size of the SD is returned and
|
||||
the SD is copied to the buffer, pointed to by sd_buf.
|
||||
sd_size contains the size of the buffer. If
|
||||
it's too small, to contain the complete SD, 0 is
|
||||
returned and sd_size is set to the needed size
|
||||
of the buffer.
|
||||
If sd_buf is too small, 0 is returned and sd_size
|
||||
is set to the needed buffer size.
|
||||
On success, 1 is returned.
|
||||
|
||||
GetFileSecurity() is used instead of BackupRead()
|
||||
to avoid access denied errors if the caller has
|
||||
not the permission to open that file for read.
|
||||
|
||||
Originally the function should return the size
|
||||
of the SD on success. Unfortunately NT returns
|
||||
0 in `len' on success, while W2K returns the
|
||||
correct size!
|
||||
*/
|
||||
|
||||
LONG
|
||||
@ -415,7 +420,7 @@ read_sd(const char *file, PSECURITY_DESCRIPTOR sd_buf, LPDWORD sd_size)
|
||||
*sd_size = len;
|
||||
return 0;
|
||||
}
|
||||
return len;
|
||||
return 1;
|
||||
}
|
||||
|
||||
LONG
|
||||
|
Loading…
Reference in New Issue
Block a user