Find an rpc pipe given a pipe handle in a buffer and an offset.
****************************************************************************/
-smb_np_struct *get_rpc_pipe_p(const char *buf, int where)
+smb_np_struct *get_rpc_pipe_p(uint16 pnum)
{
- int pnum = SVAL(buf,where);
-
if (chain_p) {
return chain_p;
}
int reply_pipe_write(char *inbuf,char *outbuf,int length,int dum_bufsize)
{
- smb_np_struct *p = get_rpc_pipe_p(inbuf,smb_vwv0);
+ smb_np_struct *p = get_rpc_pipe_p(SVAL(inbuf,smb_vwv0));
uint16 vuid = SVAL(inbuf,smb_uid);
size_t numtowrite = SVAL(inbuf,smb_vwv1);
int nwritten;
int reply_pipe_write_and_X(char *inbuf,char *outbuf,int length,int bufsize)
{
- smb_np_struct *p = get_rpc_pipe_p(inbuf,smb_vwv2);
+ smb_np_struct *p = get_rpc_pipe_p(SVAL(inbuf,smb_vwv2));
uint16 vuid = SVAL(inbuf,smb_uid);
size_t numtowrite = SVAL(inbuf,smb_vwv10);
int nwritten = -1;
int reply_pipe_read_and_X(char *inbuf,char *outbuf,int length,int bufsize)
{
- smb_np_struct *p = get_rpc_pipe_p(inbuf,smb_vwv2);
+ smb_np_struct *p = get_rpc_pipe_p(SVAL(inbuf,smb_vwv2));
int smb_maxcnt = SVAL(inbuf,smb_vwv5);
int smb_mincnt = SVAL(inbuf,smb_vwv6);
int nread = -1;
void reply_pipe_close(connection_struct *conn, struct smb_request *req)
{
- smb_np_struct *p = get_rpc_pipe_p((char *)req->inbuf,smb_vwv0);
+ smb_np_struct *p = get_rpc_pipe_p(SVAL(req->inbuf,smb_vwv0));
if (!p) {
reply_doserror(req, ERRDOS, ERRbadfid);