1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-27 03:21:53 +03:00

r21769: Attempt to fix bug #4384 in old search code.

We were accessing a pathname that hadn't gone
through unix_convert ! That's a big no-no...
Jeremy.
(This used to be commit 33a67fd39e)
This commit is contained in:
Jeremy Allison 2007-03-09 02:16:03 +00:00 committed by Gerald (Jerry) Carter
parent 540911001d
commit 12c617af08

View File

@ -967,16 +967,13 @@ int reply_search(connection_struct *conn, char *inbuf,char *outbuf, int dum_size
if (status_len == 0) {
SMB_STRUCT_STAT sbuf;
pstring dir2;
pstrcpy(directory,path);
pstrcpy(dir2,path);
nt_status = unix_convert(conn, directory, True, NULL, &sbuf);
if (!NT_STATUS_IS_OK(nt_status)) {
END_PROFILE(SMBsearch);
return ERROR_NT(nt_status);
}
unix_format(dir2);
nt_status = check_name(conn, directory);
if (!NT_STATUS_IS_OK(nt_status)) {
@ -984,23 +981,16 @@ int reply_search(connection_struct *conn, char *inbuf,char *outbuf, int dum_size
return ERROR_NT(nt_status);
}
p = strrchr_m(dir2,'/');
if (p == NULL) {
pstrcpy(mask,dir2);
*dir2 = 0;
p = strrchr_m(directory,'/');
if (!p) {
pstrcpy(mask,directory);
pstrcpy(directory,".");
} else {
*p = 0;
pstrcpy(mask,p+1);
}
p = strrchr_m(directory,'/');
if (!p) {
*directory = 0;
} else {
*p = 0;
}
if (strlen(directory) == 0) {
if (*directory == '\0') {
pstrcpy(directory,".");
}
memset((char *)status,'\0',21);