diff options
Diffstat (limited to 'source3/smbd')
-rw-r--r-- | source3/smbd/trans2.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/source3/smbd/trans2.c b/source3/smbd/trans2.c index db44dc984d..372ab58b65 100644 --- a/source3/smbd/trans2.c +++ b/source3/smbd/trans2.c @@ -678,7 +678,16 @@ static int call_trans2findfirst(char *inbuf, char *outbuf, int bufsize, int cnum { p = mask; while (*p) { - if (*p == '<') *p = '*'; + if (*p == '<') { + pstring expnd; + if(p[1] != '"') { + pstrcpy( expnd, p+1 ); + *p++ = '*'; + *p = '.'; + safe_strcpy( p+1, expnd, p - mask - 1); + } else + *p = '*'; + } if (*p == '>') *p = '?'; if (*p == '"') *p = '.'; p++; |