diff options
Diffstat (limited to 'winsup/cygwin/external.cc')
-rw-r--r-- | winsup/cygwin/external.cc | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/winsup/cygwin/external.cc b/winsup/cygwin/external.cc index a033df01a..cbfda931e 100644 --- a/winsup/cygwin/external.cc +++ b/winsup/cygwin/external.cc @@ -293,11 +293,10 @@ cygwin_internal (cygwin_getinfo_types t, ...) void *sd_buf = va_arg (arg, void *); DWORD sd_buf_size = va_arg (arg, DWORD); set_security_attribute (attribute, psa, sd); - if (!psa->lpSecurityDescriptor || sd.size () > sd_buf_size) + if (!psa->lpSecurityDescriptor) return sd.size (); - memcpy (sd_buf, sd, sd.size ()); psa->lpSecurityDescriptor = sd_buf; - return 0; + return sd.copy (sd_buf, sd_buf_size); } case CW_GET_SHMLBA: { |