summaryrefslogtreecommitdiff
path: root/source/lsarpcd
diff options
context:
space:
mode:
authorLuke Leighton <lkcl@samba.org>1999-12-22 02:00:13 +0000
committerLuke Leighton <lkcl@samba.org>1999-12-22 02:00:13 +0000
commitac8d8d9bf3ad1f19dc8e25c922ccde82e62c5b4b (patch)
tree0fcd2fd427743454d60d50b8286920ca819bcdc1 /source/lsarpcd
parent87810bc4b73e0f39f844a381ceb5b7a1f2a81ea1 (diff)
downloadsamba-ac8d8d9bf3ad1f19dc8e25c922ccde82e62c5b4b.tar.gz
i don't get it. there's some memory corruption somewhere. i turned
-DMEM_MAN on, and the memory corruption went away. AGH! trying various clean-ups and adding various debug messages to track it down.
Diffstat (limited to 'source/lsarpcd')
-rw-r--r--source/lsarpcd/lsarpcd.c5
-rw-r--r--source/lsarpcd/srv_lsa.c2
2 files changed, 4 insertions, 3 deletions
diff --git a/source/lsarpcd/lsarpcd.c b/source/lsarpcd/lsarpcd.c
index 622660e0349..36505d1a34f 100644
--- a/source/lsarpcd/lsarpcd.c
+++ b/source/lsarpcd/lsarpcd.c
@@ -28,8 +28,10 @@ extern pstring debugf;
extern BOOL append_log;
extern int DEBUGLEVEL;
-void msrpc_service_init(void)
+void msrpc_service_init(char* service_name)
{
+ add_msrpc_command_processor( pipe_name, service_name, api_ntlsa_rpc );
+
if (!pwdb_initialise(True))
{
exit(-1);
@@ -100,7 +102,6 @@ BOOL reload_services(BOOL test)
fstrcpy(pipe_name, "lsarpc");
setup_logging(argv[0],False);
slprintf(debugf, sizeof(debugf), "%s/log.%s", LOGFILEBASE, pipe_name);
- add_msrpc_command_processor( pipe_name, argv[0], api_ntlsa_rpc );
return msrpc_main(argc, argv);
}
diff --git a/source/lsarpcd/srv_lsa.c b/source/lsarpcd/srv_lsa.c
index 5f8fca32dee..7a2ca4f22f2 100644
--- a/source/lsarpcd/srv_lsa.c
+++ b/source/lsarpcd/srv_lsa.c
@@ -651,7 +651,7 @@ static void api_lsa_open_secret( rpcsrv_struct *p, prs_struct *data,
prs_struct *rdata)
{
/* XXXX this is NOT good */
- char *q = mem_data(&(rdata->data), rdata->offset);
+ char *q = mem_data(rdata->data, rdata->offset);
SIVAL(q, 0, 0);
q += 4;