summaryrefslogtreecommitdiff
path: root/source3/pipesrvsvc.c
diff options
context:
space:
mode:
authorLuke Leighton <lkcl@samba.org>1997-10-23 16:17:07 +0000
committerLuke Leighton <lkcl@samba.org>1997-10-23 16:17:07 +0000
commit203c93e9221bfa71a00165f251695cafb92f035b (patch)
tree82171a9a1eb44c26a09c86c3a45793247382fed2 /source3/pipesrvsvc.c
parent10e186bab7f490ebb2c07a7b71cd28c06855ff17 (diff)
downloadsamba-203c93e9221bfa71a00165f251695cafb92f035b.tar.gz
samba-203c93e9221bfa71a00165f251695cafb92f035b.tar.bz2
samba-203c93e9221bfa71a00165f251695cafb92f035b.zip
general sorting out, from crashes generated by do_lsa_req_chal() in client.c
trying to set up the data parameters etc and not understanding what's going on. in api_netlogTNP, added smb_io_rpc_hdr() call to decode the header received (and in this instance, generated by do_lsa_req_chal()). and then noticed that it's two bytes out. but i don't know how to do "byte parameters" and it's not the same format as the LSA_REQCHAL received from nt workstations. agh! (This used to be commit 0cc8ce43e1d54b44237bb525f4cf6b77e7ca3ced)
Diffstat (limited to 'source3/pipesrvsvc.c')
-rw-r--r--source3/pipesrvsvc.c19
1 files changed, 15 insertions, 4 deletions
diff --git a/source3/pipesrvsvc.c b/source3/pipesrvsvc.c
index 2c94bb2ebf..8f80cb1bd6 100644
--- a/source3/pipesrvsvc.c
+++ b/source3/pipesrvsvc.c
@@ -188,13 +188,24 @@ BOOL api_srvsvcTNP(int cnum,int uid, char *param,char *data,
char **rdata,char **rparam,
int *rdata_len,int *rparam_len)
{
- int pkttype = CVAL(data, 2);
- uint32 call_id = SVAL(data,12);
- uint16 opnum = SVAL(data,22);
-
extern pstring myname;
char *q;
+ int pkttype;
+ uint32 call_id;
+ uint16 opnum;
+
+ if (data == NULL)
+ {
+ DEBUG(2,("api_srvsvcTNP: NULL data parameter\n"));
+ return False;
+ }
+
+ /* really should decode these with a RPC_HDR structure */
+ pkttype = CVAL(data, 2);
+ call_id = SVAL(data,12);
+ opnum = SVAL(data,22);
+
if (pkttype == RPC_BIND) /* RPC BIND */
{
DEBUG(4,("srvsvc rpc bind %x\n",pkttype));