summaryrefslogtreecommitdiff
path: root/source3/smbd
diff options
context:
space:
mode:
Diffstat (limited to 'source3/smbd')
-rw-r--r--source3/smbd/trans2.c11
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++;