diff options
-rw-r--r-- | source3/lib/system.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/source3/lib/system.c b/source3/lib/system.c index 1ca2f5e82ce..d0e34bc20e5 100644 --- a/source3/lib/system.c +++ b/source3/lib/system.c @@ -1801,6 +1801,10 @@ static ssize_t bsd_attr_list (int type, extattr_arg arg, char *list, size_t size char *buf; /* Iterate through extattr(2) namespaces */ for(t = 0; t < (sizeof(extattr)/sizeof(extattr[0])); t++) { + if (t != EXTATTR_NAMESPACE_USER && geteuid() != 0) { + /* ignore all but user namespace when we are not root, see bug 10247 */ + continue; + } switch(type) { #if defined(HAVE_EXTATTR_LIST_FILE) case 0: |