diff options
author | Luke Leighton <lkcl@samba.org> | 1997-10-14 19:31:07 +0000 |
---|---|---|
committer | Luke Leighton <lkcl@samba.org> | 1997-10-14 19:31:07 +0000 |
commit | 93879ac8a533ad8cc175275cf1fc9a8f152f4b5a (patch) | |
tree | d7e3c6f680be7499b9f9236e79cdacc8e7d68d81 /source/pipentlsa.c | |
parent | 28de393878872081bac3a0b3ca82d915eae56701 (diff) | |
download | samba-93879ac8a533ad8cc175275cf1fc9a8f152f4b5a.tar.gz samba-93879ac8a533ad8cc175275cf1fc9a8f152f4b5a.tar.xz samba-93879ac8a533ad8cc175275cf1fc9a8f152f4b5a.zip |
pipentlsa.c :
lsa close odd bug.
smbparse.c :
smb_io_dom_sid() _does_ need 4-byte alignment before it.
Diffstat (limited to 'source/pipentlsa.c')
-rw-r--r-- | source/pipentlsa.c | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/source/pipentlsa.c b/source/pipentlsa.c index 030e00e87ab..d27b7b2b763 100644 --- a/source/pipentlsa.c +++ b/source/pipentlsa.c @@ -40,8 +40,8 @@ static int lsa_reply_open_policy(char *q, char *base) LSA_R_OPEN_POL r_o; /* set up the LSA QUERY INFO response */ - /* bzero(&(r_o.pol.data), POL_HND_SIZE); */ - for (i = 0; i < POL_HND_SIZE; i++) + bzero(&(r_o.pol.data), POL_HND_SIZE); + for (i = 4; i < POL_HND_SIZE; i++) { r_o.pol.data[i] = i; } @@ -337,6 +337,8 @@ BOOL api_ntLsarpcTNP(int cnum,int uid, char *param,char *data, SIVAL(q, 0, 4); /* entries read */ SIVAL(q, 0, 8); /* trust information */ + q += 12; + endrpcreply(data, *rdata, q-*rdata, 0x8000001a, rdata_len); break; @@ -344,17 +346,19 @@ BOOL api_ntLsarpcTNP(int cnum,int uid, char *param,char *data, case LSA_CLOSE: { - char *q = *rdata + 0x18; + char *q; DEBUG(3,("LSA_CLOSE\n")); initrpcreply(data, *rdata); - SIVAL(q, 0, 0); - SIVAL(q, 0, 4); - SIVAL(q, 0, 8); - SIVAL(q, 0, 12); - SIVAL(q, 0, 16); + q = *rdata + 0x18; + + SIVAL(q, 0, 0); q += 4; + SIVAL(q, 0, 0); q += 4; + SIVAL(q, 0, 0); q += 4; + SIVAL(q, 0, 0); q += 4; + SIVAL(q, 0, 0); q += 4; endrpcreply(data, *rdata, q-*rdata, 0, rdata_len); @@ -374,6 +378,8 @@ BOOL api_ntLsarpcTNP(int cnum,int uid, char *param,char *data, SIVAL(q, 0, 12); SIVAL(q, 0, 16); + q += 20; + endrpcreply(data, *rdata, q-*rdata, 0xc000034, rdata_len); break; |