1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-17 02:05:21 +03:00

r6258: Fix found by OS/2 set_ea call. When setting specific info remember to terminate

once we've done that and not "break" into the generic file metadata set code.
Jeremy.
This commit is contained in:
Jeremy Allison 2005-04-09 00:41:38 +00:00 committed by Gerald (Jerry) Carter
parent 3dfa6c40fc
commit f1e12be9ed

View File

@ -3739,7 +3739,11 @@ static int call_trans2setfilepathinfo(connection_struct *conn, char *inbuf, char
if (!NT_STATUS_IS_OK(status)) { if (!NT_STATUS_IS_OK(status)) {
return ERROR_NT(status); return ERROR_NT(status);
} }
break;
/* We're done. We only get EA info in this call. */
SSVAL(params,0,0);
send_trans2_replies(outbuf, bufsize, params, 2, *ppdata, 0);
return(-1);
} }
#if 0 #if 0
@ -3929,7 +3933,9 @@ static int call_trans2setfilepathinfo(connection_struct *conn, char *inbuf, char
return ERROR_NT(status); return ERROR_NT(status);
} }
break; SSVAL(params,0,0);
send_trans2_replies(outbuf, bufsize, params, 2, *ppdata, 0);
return(-1);
} }
case SMB_FILE_POSITION_INFORMATION: case SMB_FILE_POSITION_INFORMATION:
@ -3949,9 +3955,14 @@ static int call_trans2setfilepathinfo(connection_struct *conn, char *inbuf, char
#endif /* LARGE_SMB_OFF_T */ #endif /* LARGE_SMB_OFF_T */
DEBUG(10,("call_trans2setfilepathinfo: Set file position information for file %s to %.0f\n", DEBUG(10,("call_trans2setfilepathinfo: Set file position information for file %s to %.0f\n",
fname, (double)position_information )); fname, (double)position_information ));
if (fsp) if (fsp) {
fsp->position_information = position_information; fsp->position_information = position_information;
break; }
/* We're done. We only get position info in this call. */
SSVAL(params,0,0);
send_trans2_replies(outbuf, bufsize, params, 2, *ppdata, 0);
return(-1);
} }
/* From tridge Samba4 : /* From tridge Samba4 :
@ -3971,7 +3982,11 @@ static int call_trans2setfilepathinfo(connection_struct *conn, char *inbuf, char
if (mode != 0 && mode != 2 && mode != 4 && mode != 6) { if (mode != 0 && mode != 2 && mode != 4 && mode != 6) {
return ERROR_NT(NT_STATUS_INVALID_PARAMETER); return ERROR_NT(NT_STATUS_INVALID_PARAMETER);
} }
break;
/* We're done. We only get mode info in this call. */
SSVAL(params,0,0);
send_trans2_replies(outbuf, bufsize, params, 2, *ppdata, 0);
return(-1);
} }
/* /*