1
0
mirror of https://github.com/samba-team/samba.git synced 2025-03-04 16:58:42 +03:00

fixed a stat cache bug (the one found by Matthew Geier).

The fix I used is a very conservative fix. I'll leave it up to Jeremy
to put in a better fix. The problem was the detection of mangled
names.
This commit is contained in:
Andrew Tridgell -
parent 5c7717f033
commit c96b5fde5a

View File

@ -331,6 +331,7 @@ BOOL unix_convert(char *name,connection_struct *conn,char *saved_last_component,
int saved_errno;
BOOL component_was_mangled = False;
BOOL name_has_wildcard = False;
extern char magic_char;
*dirpath = 0;
*bad_path = False;
@ -432,6 +433,10 @@ BOOL unix_convert(char *name,connection_struct *conn,char *saved_last_component,
if(strchr(start,'?') || strchr(start,'*'))
name_has_wildcard = True;
/* this is an extremely conservative test for mangled names. */
if (strchr(start,magic_char))
component_was_mangled = True;
/*
* Now we need to recursively match the name against the real
* directory structure.
@ -528,7 +533,6 @@ BOOL unix_convert(char *name,connection_struct *conn,char *saved_last_component,
*/
if (is_mangled(start)) {
component_was_mangled = True;
check_mangled_cache( start );
}