mirror of
https://github.com/samba-team/samba.git
synced 2025-02-21 01:59:07 +03:00
Turns out with Win9x, we could occasionally return from unix_convert() given
a mangled name without a valid stat struct if the file existed. This would then cause open_file_shared1() to erroneously think the file open was new, thus not check for oplock break, thus causing a spurious EAGAIN reply to the open on a file we already had kernel oplocked.... (phew - that was fun to track down :-). Jeremy. (This used to be commit e23210e4732163e7f005b320235c20c814b41972)
This commit is contained in:
parent
ac71311ff2
commit
24d8333c72
@ -318,6 +318,18 @@ BOOL unix_convert(pstring name,connection_struct *conn,char *saved_last_componen
|
||||
pstrcat(start,"/");
|
||||
pstrcat(start,rest);
|
||||
*end = '\0';
|
||||
} else {
|
||||
/*
|
||||
* We just scanned for, and found the end of the path.
|
||||
* We must return a valid stat struct if it exists.
|
||||
* JRA.
|
||||
*/
|
||||
|
||||
if (vfs_stat(conn,name, &st) == 0) {
|
||||
*pst = st;
|
||||
} else {
|
||||
ZERO_STRUCT(st);
|
||||
}
|
||||
}
|
||||
} /* end else */
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user