diff options
Diffstat (limited to 'source3')
-rw-r--r-- | source3/smbd/trans2.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/source3/smbd/trans2.c b/source3/smbd/trans2.c index 14a2e0fa17..7bce6ead1e 100644 --- a/source3/smbd/trans2.c +++ b/source3/smbd/trans2.c @@ -623,6 +623,15 @@ NTSTATUS set_ea(connection_struct *conn, files_struct *fsp, return NT_STATUS_INVALID_PARAMETER; } + /* + * Filter out invalid Windows EA names - before + * we set *any* of them. + */ + + if (ea_list_has_invalid_name(ea_list)) { + return STATUS_INVALID_EA_NAME; + } + fname = smb_fname->base_name; for (;ea_list; ea_list = ea_list->next) { |