summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke Leighton <lkcl@samba.org>1999-02-09 21:42:39 +0000
committerLuke Leighton <lkcl@samba.org>1999-02-09 21:42:39 +0000
commit96983a13bac8276590024b37149b7bf3e80477dd (patch)
treef27296abb6b252aa0cc09d932ad20c73ee0433fe
parent748f296a76a76d38525ad35df6658811cae60222 (diff)
downloadsamba-96983a13bac8276590024b37149b7bf3e80477dd.tar.gz
samba-96983a13bac8276590024b37149b7bf3e80477dd.tar.bz2
samba-96983a13bac8276590024b37149b7bf3e80477dd.zip
when multiple independent large rpc calls come in on the same pipe,
prev_pdu_file_offset was not being re-initialised to zero. (This used to be commit fcaa1214412f5a417a648d4da5c4332f75f59f57)
-rw-r--r--source3/rpc_server/srv_pipe_hnd.c7
-rw-r--r--source3/smbd/ipc.c3
2 files changed, 4 insertions, 6 deletions
diff --git a/source3/rpc_server/srv_pipe_hnd.c b/source3/rpc_server/srv_pipe_hnd.c
index ca5dde18d2..27aa79381c 100644
--- a/source3/rpc_server/srv_pipe_hnd.c
+++ b/source3/rpc_server/srv_pipe_hnd.c
@@ -208,11 +208,8 @@ int read_pipe(pipes_struct *p, char *data, uint32 pos, int n)
int data_pos; /* entire rpc data sent - no headers, no auth verifiers */
int this_pdu_data_pos;
- DEBUG(6,("read_pipe: %x", p->pnum));
-
- DEBUG(6,("name: %s open: %s pos: %d len: %d",
- p->name,
- BOOLSTR(p->open),
+ DEBUG(6,("read_pipe: %x name: %s open: %s pos: %d len: %d",
+ p->pnum, p->name, BOOLSTR(p->open),
pos, n));
if (!p || !p->open)
diff --git a/source3/smbd/ipc.c b/source3/smbd/ipc.c
index 41892504ad..31ae8e6fc0 100644
--- a/source3/smbd/ipc.c
+++ b/source3/smbd/ipc.c
@@ -3236,7 +3236,8 @@ static int api_fd_reply(connection_struct *conn,uint16 vuid,char *outbuf,
subcommand, p->name, pnum));
/* record maximum data length that can be transmitted in an SMBtrans */
- p->file_offset = mdrcnt;
+ p->file_offset = mdrcnt;
+ p->prev_pdu_file_offset = 0;
DEBUG(10,("api_fd_reply: p:%p file_offset: %d\n",
p, p->file_offset));