diff options
Diffstat (limited to 'source4/lib/messaging')
-rw-r--r-- | source4/lib/messaging/config.mk | 4 | ||||
-rw-r--r-- | source4/lib/messaging/messaging.c | 14 | ||||
-rw-r--r-- | source4/lib/messaging/tests/messaging.c | 1 |
3 files changed, 12 insertions, 7 deletions
diff --git a/source4/lib/messaging/config.mk b/source4/lib/messaging/config.mk index 3fec9c0c90..eaf7e3581e 100644 --- a/source4/lib/messaging/config.mk +++ b/source4/lib/messaging/config.mk @@ -2,8 +2,6 @@ ################################################ # Start SUBSYSTEM MESSAGING [SUBSYSTEM::MESSAGING] -OBJ_FILES = \ - messaging.o PUBLIC_DEPENDENCIES = \ LIBSAMBA-UTIL \ TDB_WRAP \ @@ -14,3 +12,5 @@ PUBLIC_DEPENDENCIES = \ LIBNDR # End SUBSYSTEM MESSAGING ################################################ + +MESSAGING_OBJ_FILES = $(libmessagingsrcdir)/messaging.o diff --git a/source4/lib/messaging/messaging.c b/source4/lib/messaging/messaging.c index 29d6e00247..e7b654894f 100644 --- a/source4/lib/messaging/messaging.c +++ b/source4/lib/messaging/messaging.c @@ -544,6 +544,10 @@ struct messaging_context *messaging_init(TALLOC_CTX *mem_ctx, NTSTATUS status; struct socket_address *path; + if (ev == NULL) { + return NULL; + } + msg = talloc_zero(mem_ctx, struct messaging_context); if (msg == NULL) { return NULL; @@ -556,10 +560,6 @@ struct messaging_context *messaging_init(TALLOC_CTX *mem_ctx, return NULL; } - if (ev == NULL) { - ev = event_context_init(msg); - } - /* create the messaging directory if needed */ mkdir(dir, 0700); @@ -1085,8 +1085,14 @@ void irpc_remove_name(struct messaging_context *msg_ctx, const char *name) return; } rec = tdb_fetch_bystring(t->tdb, name); + if (rec.dptr == NULL) { + tdb_unlock_bystring(t->tdb, name); + talloc_free(t); + return; + } count = rec.dsize / sizeof(struct server_id); if (count == 0) { + free(rec.dptr); tdb_unlock_bystring(t->tdb, name); talloc_free(t); return; diff --git a/source4/lib/messaging/tests/messaging.c b/source4/lib/messaging/tests/messaging.c index 45b573518c..f66b3a5b43 100644 --- a/source4/lib/messaging/tests/messaging.c +++ b/source4/lib/messaging/tests/messaging.c @@ -134,7 +134,6 @@ static bool test_ping_speed(struct torture_context *tctx) talloc_free(msg_client_ctx); talloc_free(msg_server_ctx); - talloc_free(ev); return true; } |