diff options
-rw-r--r-- | source3/lsarpcd/srv_lsa.c | 19 | ||||
-rw-r--r-- | source3/rpc_server/srv_lsa.c | 19 |
2 files changed, 8 insertions, 30 deletions
diff --git a/source3/lsarpcd/srv_lsa.c b/source3/lsarpcd/srv_lsa.c index 26153fca47..36259477da 100644 --- a/source3/lsarpcd/srv_lsa.c +++ b/source3/lsarpcd/srv_lsa.c @@ -571,23 +571,12 @@ static void api_lsa_lookup_names( pipes_struct *p, prs_struct *data, static void api_lsa_close( pipes_struct *p, prs_struct *data, prs_struct *rdata) { - /* XXXX this is NOT good */ - char *q = mem_data(&(rdata->data), rdata->offset); + LSA_R_CLOSE r_c; - 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; - SIVAL(q, 0, 0); - q += 4; + ZERO_STRUCT(r_c); - rdata->offset += 24; + /* store the response in the SMB stream */ + lsa_io_r_close("", &r_c, rdata, 0); } /*************************************************************************** diff --git a/source3/rpc_server/srv_lsa.c b/source3/rpc_server/srv_lsa.c index 26153fca47..36259477da 100644 --- a/source3/rpc_server/srv_lsa.c +++ b/source3/rpc_server/srv_lsa.c @@ -571,23 +571,12 @@ static void api_lsa_lookup_names( pipes_struct *p, prs_struct *data, static void api_lsa_close( pipes_struct *p, prs_struct *data, prs_struct *rdata) { - /* XXXX this is NOT good */ - char *q = mem_data(&(rdata->data), rdata->offset); + LSA_R_CLOSE r_c; - 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; - SIVAL(q, 0, 0); - q += 4; + ZERO_STRUCT(r_c); - rdata->offset += 24; + /* store the response in the SMB stream */ + lsa_io_r_close("", &r_c, rdata, 0); } /*************************************************************************** |