summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/external.cc
diff options
context:
space:
mode:
Diffstat (limited to 'winsup/cygwin/external.cc')
-rw-r--r--winsup/cygwin/external.cc5
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:
{